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: [email protected]
ReportedBy: [email protected]
#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.