diff options
-rw-r--r-- | clang/test/Sema/offsetof-64.c | 15 | ||||
-rw-r--r-- | clang/test/Sema/offsetof.c | 11 |
2 files changed, 15 insertions, 11 deletions
diff --git a/clang/test/Sema/offsetof-64.c b/clang/test/Sema/offsetof-64.c new file mode 100644 index 00000000000..1cabec9842f --- /dev/null +++ b/clang/test/Sema/offsetof-64.c @@ -0,0 +1,15 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s -triple x86_64-linux-gnu +// expected-no-diagnostics + +// PR15216 +// Don't crash when taking computing the offset of structs with large arrays. +const unsigned long Size = (1l << 62); + +struct Chunk { + char padding[Size]; + char more_padding[1][Size]; + char data; +}; + +int test1 = __builtin_offsetof(struct Chunk, data); + diff --git a/clang/test/Sema/offsetof.c b/clang/test/Sema/offsetof.c index 4e7fd7f29e9..9e876ad5898 100644 --- a/clang/test/Sema/offsetof.c +++ b/clang/test/Sema/offsetof.c @@ -70,14 +70,3 @@ int test5() { return __builtin_offsetof(Array, array[*(int*)0]); // expected-warning{{indirection of non-volatile null pointer}} expected-note{{__builtin_trap}} } -// PR15216 -// Don't crash when taking computing the offset of structs with large arrays. -const unsigned long Size = (1l << 62); - -struct Chunk { - char padding[Size]; - char more_padding[1][Size]; - char data; -}; - -int test6 = __builtin_offsetof(struct Chunk, data); |