1/* Test that builtin-macros are OK. */ 2 3/* { dg-do run } */ 4 5#include "builtins.h" 6 7void abort (void); 8char *strstr (const char *, const char *); 9int strcmp (const char *, const char *); 10 11#define LINE __LINE__ 12 13#if __LINE__ != 13 14# error __LINE__ part 1 /* { dg-bogus "__LINE__" } */ 15#endif 16 17#if \ 18 __LINE__ != 18 19# error __LINE__ part 2 /* { dg-bogus "__LINE__" } */ 20#endif 21 22#if LINE != 22 23# error __LINE__ part 3 /* { dg-bogus "__LINE__" } */ 24#endif 25 26#if __INCLUDE_LEVEL != 0 27# error __INCLUDE_LEVEL__ /* { dg-bogus "__INCLUDE_LEVEL__" } */ 28#endif 29 30#if !defined (__TIME__) 31# error __TIME__ /* { dg-bogus "__TIME__" } */ 32#endif 33 34#if !defined (__DATE__) 35# error __DATE__ /* { dg-bogus "__DATE__" } */ 36#endif 37 38 39int main () 40{ 41 /* level is defined in builtins.h. */ 42 if (level != 1) 43 abort (); 44 45 if (!strstr (__FILE__, "builtins.c")) 46 abort (); 47 48 if (!strcmp (__BASE_FILE__, "builtins.c")) 49 abort (); 50 51 return 0; 52} 53