1 // RUN: %clang_cc1 -fsyntax-only -verify %s -triple x86_64-linux-gnu
4 // Don't crash when taking computing the offset of structs with large arrays.
5 const unsigned long Size
= (1l << 60);
8 char padding
[Size
]; // expected-warning {{folded to constant}}
9 char more_padding
[1][Size
]; // expected-warning {{folded to constant}}
13 int test1
= __builtin_offsetof(struct Chunk1
, data
);
16 char padding
[Size
][Size
][Size
]; // expected-error {{array is too large}}
20 // FIXME: Remove this error when the constant evaluator learns to
22 int test2
= __builtin_offsetof(struct Chunk2
, data
); // expected-error{{initializer element is not a compile-time constant}}