| /* { dg-do preprocess } */ | |
| /* Test source Robert Lipe, with minor modifications for the testsuite | |
| by Neil Booth. 29 Oct 2000. */ | |
| #define _VA_ARGS_0() 42 | |
| #define _L_0() ( | |
| #define _R_0() ) | |
| #define __VA_ARGLIST(argc,list) \ | |
| _VA_ARGS_##argc list | |
| #define _CAT_LIST(argc,list1,list2) \ | |
| _L_##argc list1 _R_##argc list2 | |
| #define _VA_ARGLIST(argc,list1,list2) \ | |
| __VA_ARGLIST(argc, \ | |
| _CAT_LIST(argc, list1, list2)) | |
| #define BLAH(a) _VA_ARGLIST(a, (), ()) | |
| #if BLAH (0) != 42 | |
| #error Simulated varargs macros | |
| #endif |