On 9/17/2020 8:20 PM, Andrey Semashev via Boost wrote:
On Fri, Sep 18, 2020 at 1:10 AM Joaquín M López Muñoz via Boost
wrote: Em 17 de set de 2020, à(s) 23:09, Edward Diener via Boost
escreveu: On 9/15/2020 7:13 AM, Peter Dimov via Boost wrote:
Edward Diener wrote:
Which compilers will be affected?
Right now these compilers are considered by PP to not support variadic macros:
gccxml nvcc when cuda is being used PathScale Digital Mars and Symantec C++ bcc32 metrowerks sun/oracle C++ < version 5.12 ( current oracle C++ version is 12.6 ) HP aC++ when not using EDG MPW C++ PGI when not using EDG This doesn't sound that bad, as most of these compilers are dead, although I hope nvcc does support variadic macros nowadays.
I did discover that if gcc or clang is compiled at the C++03 level with -pedantic there will be a ton of warnings, and if with -pedantic-errros there will be a ton of errors for those warnings.
Don’t warning disabling pragmas *around preprocessor definitions* solve the issue?
Note that gcc supports push/pop pragmas only since gcc 4.6. Before that you can't disable a warning without affecting the user's code compilation.
I'm also not sure disabling the warning around a macro *definition* works.
It does not work either around the macro definition or around the macro invocation.