Boost logo

Boost :

From: Edward Diener (eldiener_at_[hidden])
Date: 2020-09-18 01:09:22


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
> <boost_at_[hidden]> wrote:
>>
>>> Em 17 de set de 2020, à(s) 23:09, Edward Diener via Boost <boost_at_[hidden]> 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.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk