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

             Bug #: 55678
           Summary: _Static_assert escapes tick marks just to make me mad
    Classification: Unclassified
           Product: gcc
           Version: 4.7.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: daniel.san...@pobox.com


#define BUILD_BUG_ON(cond) _Static_assert(!(cond), #cond)
void f() {
    const int a='4';
    BUILD_BUG_ON(a == '4');
    _Static_assert(0, "don't call static assert with zero, silly!");
}

test.c: In function ‘f’:
test.c:4:2: error: static assertion failed: "a == \'4\'"
test.c:5:2: error: static assertion failed: "don\'t call static assert with
zero, silly!"

I found nothing in the standard that says to do escape any character, only
§6.7.10 (of C11) that says you can choose to not print a character that's not
in the basic source character set, but the single-quote/tick-mark is.

Reply via email to