KWIML: Avoid conflict with C++11 user-defined literals

Clang warns

 test/test_INT_format.h:28:26: warning: identifier after literal will
 be treated as a reserved user-defined literal suffix in C++11
 [-Wc++11-compat-reserved-user-defined-literal]
  " expression [%"KWIML_INT_PRI##PRI"],"

because the KWIML_... part is an identifier lexically immediately
following a string literal.  Add a space between the string literal
and the identifier to avoid the C++11 user-defined literal syntax.
This commit is contained in:
Brad King 2012-03-20 15:42:18 -04:00
parent f94ae0ecda
commit 10272e6403

View File

@ -25,8 +25,8 @@
T const x = VALUE(T, U); \ T const x = VALUE(T, U); \
T y = C(V); \ T y = C(V); \
printf(LANG #C ":" \ printf(LANG #C ":" \
" expression [%"@KWIML@_INT_PRI##PRI"]," \ " expression [%" @KWIML@_INT_PRI##PRI "]," \
" literal [%"@KWIML@_INT_PRI##PRI"]", x, y); \ " literal [%" @KWIML@_INT_PRI##PRI "]", x, y); \
if(x == y) \ if(x == y) \
{ \ { \
printf(", PASSED\n"); \ printf(", PASSED\n"); \
@ -42,7 +42,7 @@
{ \ { \
T const x = VALUE(T, U); \ T const x = VALUE(T, U); \
char const* str = STR; \ char const* str = STR; \
sprintf(buf, "%"@KWIML@_INT_PRI##PRI, x); \ sprintf(buf, "%" @KWIML@_INT_PRI##PRI, x); \
printf(LANG "@KWIML@_INT_PRI" #PRI ":" \ printf(LANG "@KWIML@_INT_PRI" #PRI ":" \
" expected [%s], got [%s]", str, buf); \ " expected [%s], got [%s]", str, buf); \
if(strcmp(str, buf) == 0) \ if(strcmp(str, buf) == 0) \
@ -62,13 +62,13 @@
T const x = VALUE(T, U); \ T const x = VALUE(T, U); \
T y; \ T y; \
char const* str = STR; \ char const* str = STR; \
if(sscanf(str, "%"@KWIML@_INT_SCN##SCN, &y) != 1) \ if(sscanf(str, "%" @KWIML@_INT_SCN##SCN, &y) != 1) \
{ \ { \
y = 0; \ y = 0; \
} \ } \
printf(LANG "@KWIML@_INT_SCN" #SCN ":" \ printf(LANG "@KWIML@_INT_SCN" #SCN ":" \
" expected [%"@KWIML@_INT_PRI##PRI"]," \ " expected [%" @KWIML@_INT_PRI##PRI "]," \
" got [%"@KWIML@_INT_PRI##PRI"]", x, y); \ " got [%" @KWIML@_INT_PRI##PRI "]", x, y); \
if(x == y) \ if(x == y) \
{ \ { \
printf(", PASSED\n"); \ printf(", PASSED\n"); \