forked from OSchip/llvm-project
[NFC][Clang] Modify expect of fail test or XFAIL because CSKY align is different
CSKY is always in 4-byte align, no matter it's long long type. For global aggregate variable, it's 4-byte align if its size is bigger than or equal to 4 bytes. Differential Revision: https://reviews.llvm.org/D124977
This commit is contained in:
parent
25af3afa67
commit
dca37af061
|
@ -20,6 +20,11 @@
|
||||||
// fails the check for "@f3.x = ... align [ALIGN]", since ALIGN is derived
|
// fails the check for "@f3.x = ... align [ALIGN]", since ALIGN is derived
|
||||||
// from the alignment of a single i8, which is still 1.
|
// 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__)
|
#if defined(__s390x__)
|
||||||
unsigned char align = 2;
|
unsigned char align = 2;
|
||||||
#else
|
#else
|
||||||
|
@ -69,4 +74,3 @@ void f4(void) {
|
||||||
}
|
}
|
||||||
|
|
||||||
char x[3] = "ola";
|
char x[3] = "ola";
|
||||||
|
|
||||||
|
|
|
@ -30,4 +30,8 @@ void test7(int a) {
|
||||||
|
|
||||||
void test8(void) {
|
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}}
|
__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
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue