strub: enable conditional support
[official-gcc.git] / gcc / testsuite / g++.dg / torture / 20180705-1.C
blob8460473bee8c6e7bf4ebbd2dfe0c4cf5956ded81
1 // { dg-do compile }
3 typedef long unsigned int size_t;
4 extern void fancy_abort () __attribute__ ((__noreturn__));
5 class cpp_string_location_reader { };
6 class cpp_substring_ranges {
7 public:
8     void add_range ();
9 };
10 typedef unsigned char uchar;
11 void
12 cpp_interpret_string_1 (size_t count, cpp_string_location_reader *loc_readers,    cpp_substring_ranges *ranges, uchar c, const uchar *p)
14   size_t i;
15   ((void)(!((loc_readers !=   __null  ) == (ranges !=   __null  )) ? fancy_abort (), 0 : 0));
16   cpp_string_location_reader *loc_reader = __null;
17   for (i = 0; i < count; i++) 
18     {
19       if (loc_readers)  loc_reader = &loc_readers[i];
20       if (*p == 'R')    continue;
21       for (;;)  
22         {
23           switch (c)     {
24             case 'x':       if (ranges) ranges->add_range (); break;
25             case '7':       ((void)(!((loc_reader !=   __null  ) == (ranges !=   __null  )) ? fancy_abort (), 0 : 0)); break;
26           }
27           p = 0;
28         }
29     }