C++ Logo

sg15

Advanced search

Re: [D3034] Module Declarations Shouldn’t be Macros

From: Daniela Engert <dani_at_[hidden]>
Date: Fri, 3 Nov 2023 15:13:26 +0100
Am 03.11.2023 um 14:11 schrieb Boris Kolpackov via SG15:
> Michael Spencer <bigcheesegs_at_[hidden]> writes:
>
>> On Fri, Nov 3, 2023 at 12:43 AM Boris Kolpackov <boris_at_[hidden]>
>>
>>> #ifdef VERSION
>>> export module version;
>>> #else
>>> export module final;
>>> #endif
>>>
>> This is already banned by the grammar. You can't have an if-group that
>> spans a pp-module.
> Surprising, but it seems this indeed was banned by P1857. FWIW, neither
> GCC 13 nor Clang 17 enforce this.

MSVC doesn't either unless you prepend the example with line "module;".
In this case MSVC refuses to accept the conditionally compiled module
declarations. I have an open bug on DevCom for the non-conforming behaviour.

Dani

Received on 2023-11-03 14:13:28