Created attachment 334840 [details] testcase Description of problem: The following code --------------- #define R "r" R"bx" --------------- causes gcc-4.4.0-0.23.x86_64 (cpp-4.4.0-0.23.x86_64) to print the following error message when compiling with gcc -E test.c --std=gnu99 # 1 "test.c" # 1 "<built-in>" # 1 "<command-line>" # 1 "test.c" test.c:3:1: error: invalid character ' ' in raw string delimiter R"bx" It works without specifying the --std=gnu99 option though. It also works with the upstream gcc 4.4 and with 4.3 gcc versions on different platforms. Version-Release number of selected component (if applicable): gcc-4.4.0-0.23.x86_64 How reproducible: Always Steps to Reproduce: 1.gcc -E test.c --std=gnu99 Actual results: Preprocessor error message Expected results: No error message
See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm
Jakub, thanks for the quick response.
BTW, if you want to avoid a raw-string literal (which would be e.g. R"[bx]" or R"a[bx]a"), just separate R from " with some whitespace.