// Test that we don't revert trigraphs and line splicing when a raw string // literal is formed by token pasting. // { dg-options "-std=gnu99 -trigraphs" { target c } } // { dg-options "-std=c++0x" { target c++ } } // { dg-do run } #define PASTE(X,Y) X##Y const char a[] = PASTE(R,"(??>\ )"); #define TEST(str, val) \ if (sizeof (str) != sizeof (val) \ || __builtin_memcmp (str, val, sizeof (str)) != 0) \ __builtin_abort () int main() { TEST (a, "}"); }