https://gcc.gnu.org/bugzilla/show_bug.cgi?id=40564

Vincent Lefèvre <vincent-gcc at vinc17 dot net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vincent-gcc at vinc17 dot net

--- Comment #3 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> ---
A similar one:

#define S(...) #__VA_ARGS__
const char *s = S(The first, second, and third items.);

qaa:~> gcc -c -Werror=c++-compat tst.c
tst.c:2:38: error: identifier "and" is a special operator name in C++
[-Werror=c++-compat]
    2 | const char *s = S(The first, second, and third items.);
      |                                      ^
cc1: some warnings being treated as errors

In particular, this triggers an error in autoconf's _AC_C_C99_TEST_GLOBALS:

[...]
#define showlist(...) puts (#__VA_ARGS__)
[...]
  showlist (The first, second, and third items.);

Reply via email to