https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114773
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- -std=gnu89 is meant for really old programs, and the raw string literal support changes behavior, so it isn't a pure extension on what wasn't valid before, e.g. consider #define R #define b const char * square(void) { return R"(a"b"a)"; } in -std=c89 or -std=gnu89 this is return "(aa)"; while in -std=gnu99 return "a\"b\"a";