2018-11-07 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / g++.dg / torture / builtin-location.C
blobcad53de4b485c2a2ac09a746f96155dd0be92eb6
1 // { dg-do run }
3 #include <cstring>
5 const char *gfile;
6 const char *gfn;
7 int gline;
9 void bar (const char *file = __builtin_FILE (),
10           const char *function = __builtin_FUNCTION (),
11           int line = __builtin_LINE ())
13   gfile = file;
14   gfn = function;
15   gline = line;
18 extern "C" void abort (void);
20 int main()
22   int here;
23   bar (); here = __LINE__;
24   if (std::strcmp (gfn, __FUNCTION__) != 0)
25     abort ();
26   if (std::strcmp (gfile, __FILE__) != 0)
27     abort ();
28   if (gline != here)
29     abort ();
30   return 0;