diff --git a/regression/ansi-c/Struct_Bitfields1/main.c b/regression/ansi-c/Struct_Bitfields1/main.c index a65e86fba1a..6f0d9fcedad 100644 --- a/regression/ansi-c/Struct_Bitfields1/main.c +++ b/regression/ansi-c/Struct_Bitfields1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] struct S1 { diff --git a/regression/ansi-c/Struct_Enum_Padding1/main.c b/regression/ansi-c/Struct_Enum_Padding1/main.c index ff842a308da..784d8e0ef51 100644 --- a/regression/ansi-c/Struct_Enum_Padding1/main.c +++ b/regression/ansi-c/Struct_Enum_Padding1/main.c @@ -2,8 +2,11 @@ #include -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +# define CONCAT(a, b) a##b +# define CONCAT2(a, b) CONCAT(a, b) + +# define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] // Debian package openvswitch enum __attribute__((__packed__)) ofpact_type { diff --git a/regression/ansi-c/Struct_Initialization1/main.c b/regression/ansi-c/Struct_Initialization1/main.c index f2e75463d6c..4337e030ed1 100644 --- a/regression/ansi-c/Struct_Initialization1/main.c +++ b/regression/ansi-c/Struct_Initialization1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] struct A { int x; diff --git a/regression/ansi-c/Struct_Initialization2/main.c b/regression/ansi-c/Struct_Initialization2/main.c index 98cce21ebc8..a5e9d013df9 100644 --- a/regression/ansi-c/Struct_Initialization2/main.c +++ b/regression/ansi-c/Struct_Initialization2/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] struct A { int x; diff --git a/regression/ansi-c/Struct_Padding2/main.c b/regression/ansi-c/Struct_Padding2/main.c index 415bf5e8f67..ec4628a126b 100644 --- a/regression/ansi-c/Struct_Padding2/main.c +++ b/regression/ansi-c/Struct_Padding2/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] enum { RTAX_UNSPEC, diff --git a/regression/ansi-c/Struct_Padding3/main.c b/regression/ansi-c/Struct_Padding3/main.c index b98cbc0a25a..614da0b1bf6 100644 --- a/regression/ansi-c/Struct_Padding3/main.c +++ b/regression/ansi-c/Struct_Padding3/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #ifndef __GNUC__ #define __builtin_offsetof(a, b) ((unsigned long long)&(((a *)0)->b)) diff --git a/regression/ansi-c/Struct_Padding4/main.c b/regression/ansi-c/Struct_Padding4/main.c index 5ec1bb6b37a..10430793567 100644 --- a/regression/ansi-c/Struct_Padding4/main.c +++ b/regression/ansi-c/Struct_Padding4/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] struct Z1 { diff --git a/regression/ansi-c/Struct_Padding5/main.c b/regression/ansi-c/Struct_Padding5/main.c index f53eb7eb790..40b62abf47d 100644 --- a/regression/ansi-c/Struct_Padding5/main.c +++ b/regression/ansi-c/Struct_Padding5/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #ifdef _MSC_VER diff --git a/regression/ansi-c/Struct_Padding6/main.c b/regression/ansi-c/Struct_Padding6/main.c index 4b2a3d8f199..5f60ef996c4 100644 --- a/regression/ansi-c/Struct_Padding6/main.c +++ b/regression/ansi-c/Struct_Padding6/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #pragma pack(4) diff --git a/regression/ansi-c/Union_Padding1/main.c b/regression/ansi-c/Union_Padding1/main.c index 6473c5cdaf7..e574d86b90b 100644 --- a/regression/ansi-c/Union_Padding1/main.c +++ b/regression/ansi-c/Union_Padding1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #ifdef _MSC_VER diff --git a/regression/ansi-c/Universal_characters1/main.c b/regression/ansi-c/Universal_characters1/main.c index 30c9a445361..e1c3f5a2e39 100644 --- a/regression/ansi-c/Universal_characters1/main.c +++ b/regression/ansi-c/Universal_characters1/main.c @@ -1,8 +1,11 @@ int identifier_\u0201_; int \u0201_abc; -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] char my_string[]="\u0201"; STATIC_ASSERT(sizeof(my_string)==3); diff --git a/regression/ansi-c/_Alignof1/main.c b/regression/ansi-c/_Alignof1/main.c index 76f2a516e5e..aa996dc8da6 100644 --- a/regression/ansi-c/_Alignof1/main.c +++ b/regression/ansi-c/_Alignof1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] // C11: _Alignof // 6.5.3.4 diff --git a/regression/ansi-c/_Bool1/main.c b/regression/ansi-c/_Bool1/main.c index 16feeb70ce2..6c046d314b1 100644 --- a/regression/ansi-c/_Bool1/main.c +++ b/regression/ansi-c/_Bool1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] // C11: // 6.3.1.2 Boolean type diff --git a/regression/ansi-c/_Generic1/main.c b/regression/ansi-c/_Generic1/main.c index b0d58d4860f..dcc302fd2e4 100644 --- a/regression/ansi-c/_Generic1/main.c +++ b/regression/ansi-c/_Generic1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #define G(X) _Generic((X), \ long double: 1, \ diff --git a/regression/ansi-c/array_initialization1/main.c b/regression/ansi-c/array_initialization1/main.c index 623adfbe40e..046406add1c 100644 --- a/regression/ansi-c/array_initialization1/main.c +++ b/regression/ansi-c/array_initialization1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] // 6.7.9, 14: An array of character type may be initialized by a character // string literal or UTF−8 string literal, optionally enclosed in braces. diff --git a/regression/ansi-c/array_initialization3/main.c b/regression/ansi-c/array_initialization3/main.c index 6e7fb047488..db8560d3677 100644 --- a/regression/ansi-c/array_initialization3/main.c +++ b/regression/ansi-c/array_initialization3/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT_sizeof(condition) \ - int[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] int A[]; int B[]; diff --git a/regression/ansi-c/bitfields1/main.c b/regression/ansi-c/bitfields1/main.c index 6a36a27bed8..0709eb834df 100644 --- a/regression/ansi-c/bitfields1/main.c +++ b/regression/ansi-c/bitfields1/main.c @@ -1,6 +1,10 @@ #include -#define STATIC_ASSERT(condition) int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #if CHAR_BIT == 8 struct bits diff --git a/regression/ansi-c/character_literals1/main.c b/regression/ansi-c/character_literals1/main.c index fb1e228979d..28397ac5bdb 100644 --- a/regression/ansi-c/character_literals1/main.c +++ b/regression/ansi-c/character_literals1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] // character literals such as are of type int in C STATIC_ASSERT(sizeof('a')==sizeof(int)); diff --git a/regression/ansi-c/cprover_bool1/main.c b/regression/ansi-c/cprover_bool1/main.c index fc504662a69..8c0512b261c 100644 --- a/regression/ansi-c/cprover_bool1/main.c +++ b/regression/ansi-c/cprover_bool1/main.c @@ -1,4 +1,8 @@ -#define STATIC_ASSERT(condition) int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] struct bits { diff --git a/regression/ansi-c/enum3/main.c b/regression/ansi-c/enum3/main.c index bd9942fbe67..fa65429582b 100644 --- a/regression/ansi-c/enum3/main.c +++ b/regression/ansi-c/enum3/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #if defined(__GNUC__) diff --git a/regression/ansi-c/float_constant1/main.c b/regression/ansi-c/float_constant1/main.c index 4498df4a605..93fc5e4b4c4 100644 --- a/regression/ansi-c/float_constant1/main.c +++ b/regression/ansi-c/float_constant1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] // hex-based constants STATIC_ASSERT(0x1.0p-95f == 2.524355e-29f); diff --git a/regression/ansi-c/gcc_attributes10/main.c b/regression/ansi-c/gcc_attributes10/main.c index 02a53e386ab..9b90e8d333b 100644 --- a/regression/ansi-c/gcc_attributes10/main.c +++ b/regression/ansi-c/gcc_attributes10/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #ifdef __GNUC__ #ifndef __clang__ diff --git a/regression/ansi-c/gcc_attributes3/main.c b/regression/ansi-c/gcc_attributes3/main.c index d843a1b2dc2..f444f9ee8eb 100644 --- a/regression/ansi-c/gcc_attributes3/main.c +++ b/regression/ansi-c/gcc_attributes3/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #ifdef __GNUC__ diff --git a/regression/ansi-c/gcc_attributes4/main.c b/regression/ansi-c/gcc_attributes4/main.c index 3fa2abd8218..e15dab2c06b 100644 --- a/regression/ansi-c/gcc_attributes4/main.c +++ b/regression/ansi-c/gcc_attributes4/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #ifdef __GNUC__ diff --git a/regression/ansi-c/gcc_attributes5/main.c b/regression/ansi-c/gcc_attributes5/main.c index 77a3987b1cc..637e71baf3a 100644 --- a/regression/ansi-c/gcc_attributes5/main.c +++ b/regression/ansi-c/gcc_attributes5/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #ifdef __GNUC__ diff --git a/regression/ansi-c/gcc_attributes6/main.c b/regression/ansi-c/gcc_attributes6/main.c index e874070e605..c6eea3437d0 100644 --- a/regression/ansi-c/gcc_attributes6/main.c +++ b/regression/ansi-c/gcc_attributes6/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #ifdef __GNUC__ diff --git a/regression/ansi-c/gcc_attributes8/main.c b/regression/ansi-c/gcc_attributes8/main.c index 7cb7a0964a1..429125057db 100644 --- a/regression/ansi-c/gcc_attributes8/main.c +++ b/regression/ansi-c/gcc_attributes8/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #ifdef __GNUC__ diff --git a/regression/ansi-c/gcc_builtins2/main.c b/regression/ansi-c/gcc_builtins2/main.c index 7897192e52d..24e610d7f63 100644 --- a/regression/ansi-c/gcc_builtins2/main.c +++ b/regression/ansi-c/gcc_builtins2/main.c @@ -8,7 +8,11 @@ extern double cabs (double _Complex __z); extern double fabs (double __x); extern long double cabsl (long double _Complex __z); -#define STATIC_ASSERT(a) int __dummy__[(a)?1:-1] +# define CONCAT(a, b) a##b +# define CONCAT2(a, b) CONCAT(a, b) + +# define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #endif int main() diff --git a/regression/ansi-c/gcc_builtins4/main.c b/regression/ansi-c/gcc_builtins4/main.c index 50c03297418..55c3407e7f1 100644 --- a/regression/ansi-c/gcc_builtins4/main.c +++ b/regression/ansi-c/gcc_builtins4/main.c @@ -1,6 +1,10 @@ #ifdef __GNUC__ -#define STATIC_ASSERT(a) int __dummy__[(a)?1:-1] +# define CONCAT(a, b) a##b +# define CONCAT2(a, b) CONCAT(a, b) + +# define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] struct { int i; _Bool bit_field : 1; } s; union { int i; } u; diff --git a/regression/ansi-c/gcc_builtins5/main.c b/regression/ansi-c/gcc_builtins5/main.c index b65d32623d3..4f8d9570014 100644 --- a/regression/ansi-c/gcc_builtins5/main.c +++ b/regression/ansi-c/gcc_builtins5/main.c @@ -17,7 +17,11 @@ struct pthread }; }; -#define STATIC_ASSERT(a) int __dummy__[(a)?1:-1] +# define CONCAT(a, b) a##b +# define CONCAT2(a, b) CONCAT(a, b) + +# define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] int main() { diff --git a/regression/ansi-c/gcc_types_compatible_p1/main.c b/regression/ansi-c/gcc_types_compatible_p1/main.c index 0695978a11b..ca0e56675b1 100644 --- a/regression/ansi-c/gcc_types_compatible_p1/main.c +++ b/regression/ansi-c/gcc_types_compatible_p1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] int i; double d; diff --git a/regression/ansi-c/gcc_types_compatible_p2/main.c b/regression/ansi-c/gcc_types_compatible_p2/main.c index a5393f410d8..2c6de33dad6 100644 --- a/regression/ansi-c/gcc_types_compatible_p2/main.c +++ b/regression/ansi-c/gcc_types_compatible_p2/main.c @@ -1,7 +1,10 @@ #ifdef __GNUC__ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +# define CONCAT(a, b) a##b +# define CONCAT2(a, b) CONCAT(a, b) + +# define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] int getopt_long(int i, char * const* s); int getopt_long_nn(int, char * const*); diff --git a/regression/ansi-c/gcc_types_compatible_p3/main.c b/regression/ansi-c/gcc_types_compatible_p3/main.c index 5693270c7da..c02f3fe8b91 100644 --- a/regression/ansi-c/gcc_types_compatible_p3/main.c +++ b/regression/ansi-c/gcc_types_compatible_p3/main.c @@ -1,7 +1,10 @@ #ifdef __GNUC__ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +# define CONCAT(a, b) a##b +# define CONCAT2(a, b) CONCAT(a, b) + +# define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] // Debian package linux-tools enum help_format { diff --git a/regression/ansi-c/gcc_types_compatible_p4/main.c b/regression/ansi-c/gcc_types_compatible_p4/main.c index 69b84a8304b..be0139f9352 100644 --- a/regression/ansi-c/gcc_types_compatible_p4/main.c +++ b/regression/ansi-c/gcc_types_compatible_p4/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] typedef struct struct_tag { diff --git a/regression/ansi-c/integer_constant1/main.c b/regression/ansi-c/integer_constant1/main.c index f1cd209e840..1eb625d0fed 100644 --- a/regression/ansi-c/integer_constant1/main.c +++ b/regression/ansi-c/integer_constant1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] STATIC_ASSERT('\''==39); STATIC_ASSERT(L'\''==39); diff --git a/regression/ansi-c/integer_constant2/main.c b/regression/ansi-c/integer_constant2/main.c index 43f08894de6..51e74fc06af 100644 --- a/regression/ansi-c/integer_constant2/main.c +++ b/regression/ansi-c/integer_constant2/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] STATIC_ASSERT(((long int)0x7FFFFFFFL)>0); diff --git a/regression/ansi-c/pragma_pack1/main.c b/regression/ansi-c/pragma_pack1/main.c index 2f90725c359..cb33847a1e6 100644 --- a/regression/ansi-c/pragma_pack1/main.c +++ b/regression/ansi-c/pragma_pack1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] #ifdef _WIN32 typedef unsigned __int64 uint64_t; diff --git a/regression/ansi-c/pragma_pack2/main.c b/regression/ansi-c/pragma_pack2/main.c index 07b4d1a5b66..d0526f67603 100644 --- a/regression/ansi-c/pragma_pack2/main.c +++ b/regression/ansi-c/pragma_pack2/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] // see http://msdn.microsoft.com/en-us/library/2e70t5y1%28v=vs.80%29.aspx diff --git a/regression/ansi-c/pragma_pack3/main.c b/regression/ansi-c/pragma_pack3/main.c index 7eb85820319..eb9238f0492 100644 --- a/regression/ansi-c/pragma_pack3/main.c +++ b/regression/ansi-c/pragma_pack3/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] // see http://msdn.microsoft.com/en-us/library/2e70t5y1%28v=vs.80%29.aspx diff --git a/regression/ansi-c/sizeof1/main.c b/regression/ansi-c/sizeof1/main.c index a624bd9ff6e..936e3024cbc 100644 --- a/regression/ansi-c/sizeof1/main.c +++ b/regression/ansi-c/sizeof1/main.c @@ -1,8 +1,11 @@ #include #include // for size_t -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] // check size_t STATIC_ASSERT(sizeof(void *)==sizeof(size_t)); diff --git a/regression/ansi-c/sizeof3/main.c b/regression/ansi-c/sizeof3/main.c index cd21d97cf1b..fc9e45fa5e4 100644 --- a/regression/ansi-c/sizeof3/main.c +++ b/regression/ansi-c/sizeof3/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] struct empty_struct { }; union empty_union { }; diff --git a/regression/ansi-c/sizeof4/main.c b/regression/ansi-c/sizeof4/main.c index 364f64bb797..d44a7d86568 100644 --- a/regression/ansi-c/sizeof4/main.c +++ b/regression/ansi-c/sizeof4/main.c @@ -1,6 +1,8 @@ +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] // The result of boolean operators is always an int STATIC_ASSERT(sizeof(1.0 && 1.0)==sizeof(int)); diff --git a/regression/ansi-c/sizeof5/main.c b/regression/ansi-c/sizeof5/main.c index 7149902ced6..bdc28f4333f 100644 --- a/regression/ansi-c/sizeof5/main.c +++ b/regression/ansi-c/sizeof5/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] struct S { diff --git a/regression/ansi-c/struct3/main.c b/regression/ansi-c/struct3/main.c index c06578de812..a2eb47e1f0b 100644 --- a/regression/ansi-c/struct3/main.c +++ b/regression/ansi-c/struct3/main.c @@ -1,5 +1,3 @@ -//#define STATIC_ASSERT(condition) \ -// int some_array##__LINE__[(condition) ? 1 : -1]; #define STATIC_ASSERT(condition) \ _Static_assert((condition), "assertion"); diff --git a/regression/cbmc-with-incr/Struct_Padding1/main.c b/regression/cbmc-with-incr/Struct_Padding1/main.c index 5dd960bd6c4..24eee564da2 100644 --- a/regression/cbmc-with-incr/Struct_Padding1/main.c +++ b/regression/cbmc-with-incr/Struct_Padding1/main.c @@ -1,7 +1,10 @@ #include -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1] +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] struct my_struct1 { diff --git a/regression/cbmc-with-incr/null1/main.c b/regression/cbmc-with-incr/null1/main.c index 5047b972d90..74abcdf0872 100644 --- a/regression/cbmc-with-incr/null1/main.c +++ b/regression/cbmc-with-incr/null1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] STATIC_ASSERT((void*)0==(void*)(1-1)); diff --git a/regression/cbmc/null1/main.c b/regression/cbmc/null1/main.c index 5047b972d90..74abcdf0872 100644 --- a/regression/cbmc/null1/main.c +++ b/regression/cbmc/null1/main.c @@ -1,5 +1,8 @@ -#define STATIC_ASSERT(condition) \ - int some_array##__LINE__[(condition) ? 1 : -1]; +#define CONCAT(a, b) a##b +#define CONCAT2(a, b) CONCAT(a, b) + +#define STATIC_ASSERT(condition) \ + int CONCAT2(some_array, __LINE__)[(condition) ? 1 : -1] STATIC_ASSERT((void*)0==(void*)(1-1));