diff --git a/clang/test/CodeGen/c-strings.c b/clang/test/CodeGen/c-strings.c --- a/clang/test/CodeGen/c-strings.c +++ b/clang/test/CodeGen/c-strings.c @@ -20,6 +20,11 @@ // fails the check for "@f3.x = ... align [ALIGN]", since ALIGN is derived // from the alignment of a single i8, which is still 1. +// XFAIL: csky +// CSKY aligns arrays of size 4+ bytes to a 32-bit boundary, which +// fails the check for "@f2.x = ... align [ALIGN]", since ALIGN is derived +// from the alignment of a single i8, which is still 1. + #if defined(__s390x__) unsigned char align = 2; #else @@ -69,4 +74,3 @@ } char x[3] = "ola"; - diff --git a/clang/test/Sema/builtin-alloca-with-align.c b/clang/test/Sema/builtin-alloca-with-align.c --- a/clang/test/Sema/builtin-alloca-with-align.c +++ b/clang/test/Sema/builtin-alloca-with-align.c @@ -30,4 +30,8 @@ void test8(void) { __builtin_alloca_with_align(sizeof(__INT64_TYPE__), __alignof__(__INT64_TYPE__)); // expected-warning {{second argument to __builtin_alloca_with_align is supposed to be in bits}} +#if defined(__csky__) + // expected-error@-1 {{requested alignment must be 8 or greater}} + // Because the alignment of long long is 4 in CSKY target +#endif }