1 // { dg-do preprocess } 2 // { dg-options "-std=c++11" { target c++ } } 3 // { dg-options "-std=gnu99" { target c } } 4 // { dg-additional-options -fdirectives-only } 5 6 R"stuff( 7 )nope" 8 #error in raw literal 9 )stuff" 10 // comment 11 #define bob 1 12 // " comment 13 #if !bob 14 #error "no bob" 15 #endif 16 17 bob\ 18 \ 19 R"regular string not an erroneous raw one" 20 21 "regular"R"***(not a raw string" 22 #define HERE 1 23 //)***" 24 #ifndef HERE 25 #error "oops no HERE" 26 #endif 27 /* comment */ 28 29 30 0e+R"*(not a raw string" 31 #define CPP_NUM 1 32 //)*" 33 #ifndef CPP_NUM 34 #error "oops no CPP_NUM" 35 #endif 36