http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61038

            Bug ID: 61038
           Summary: g++ -E is unusable with UDL strings
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: b.r.longbons at gmail dot com

The following program is legal and compiles correctly. However, if preprocessed
only, the .ii file in invalid because it fails to escape the ""s

gcc 4.7, 4.8, and 4.9 all fail. Earlier versions did not support UDLs.

I am marking this as "critical" because it makes reducing testcases for other
bugs very difficult.

// compile with -std=c++11
void operator "" _s(const char *, unsigned long)
{
}

#define QUOTE(s) #s

int main()
{
    QUOTE("hello"_s);
}

Reply via email to