Boost logo

Boost :

From: Edward Diener (eldiener_at_[hidden])
Date: 2020-09-15 15:09:12


On 9/15/2020 6:01 AM, Andrey Semashev via Boost wrote:
> On 2020-09-15 05:18, Edward Diener via Boost wrote:
>> On 9/14/2020 7:38 PM, Andrey Semashev via Boost wrote:
>>>
>>> Boost.Preprocessor is used quite a lot throughout Boost, not in the
>>> least part specifically to support C++03. If it stops being C++03
>>> compatible, this will mean most of Boost will stop as well.
>>
>> My proposed change does not mean that PP stops supporting C++03. Lots
>> of compilers supported variadic macros even when compiling in C++03
>> mode, ie. gcc and clang and vc++ starting with VS2005 being the most
>> prominent. The few that actually did not support variadic macros in
>> C++03 mode should not be used with future Boost by anybody; they are
>> really ancient.
>
> Ok, so it doesn't look as scary as it initially did. Thank you.
>
>> Isn't that what discouraging compiling in C++03 mode is all about, so
>> that ancient compilers still supporting c++03 should not be used by
>> developers as Boost goes forward.
>
> I actually don't know what the incentive to actively drop C++03 is.
>
> (Disclosure: I write C++17 on a daily basis and I realize C++03 is
> limiting in some ways. It is not in others, and some written code can be
> made trivially compatible with C++03. Granted, this may not be the case
> with Boost.PP, but that code is already written and I suspect requires
> little maintenance.

It will make Boost PP code much cleaner to understand if support for
non-variadic macros is dropped. I still will keep whatever workarounds
are needed for the VC++ non-standard default preprocessor. Now that
Microsoft has a new C++ standard preprocessor, hopefully programmers
will switch to it and those old workarounds can also go away some day.

> Also, in my C++17 code base I'm using some great
> C++03 libraries, including Boost, and I see nothing wrong about it.
> Please, don't consider this paragraph as an invitation to C++03 vs.
> C++11 argument.)


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