[cfe-dev] Bug 39206 - [Modules TS] Macro defined in module interface cannot be set in implementation

Matt Asplund via cfe-dev cfe-dev at lists.llvm.org
Sun Oct 21 19:09:17 PDT 2018

+David Blaikie <dblaikie at gmail.com> Since you were discussing this with me

On Sun, Oct 21, 2018 at 7:08 PM Matt Asplund <mwasplund at gmail.com> wrote:

> I believe there is an inherent issue with how clang uses the precompiled
> header structure to implement a module interface definition. When linking
> against this module file clang brings in all of the header lookup, which I
> can fix by forcing ModulesTS to not include the external source. However,
> it feels like I am fighting the pcm to ignore already included files and
> previously defined symbols that should have global module linkage. From
> reading the spec it feels like the pcm file should ONLY contain the symbols
> available from name lookup from module interface purview to implementation
> purview as well as exported symbols that are imported.
> Side note: As I try to track down these issues it seems odd that ModulesTS
> is forcing Modules to be turned on as well. Would it be easier to keep
> Clang Modules entirely separate from ModulesTS?
> -Matt
> On Sun, Oct 21, 2018 at 5:54 PM Matt Asplund <mwasplund at gmail.com> wrote:
>> This was discussed in a separate thread, but got lost in the discussion.
>> I am currently working on porting a legacy project over to using the new
>> modules-ts and would hit the issue linked in *Bug 39206
>> <https://bugs.llvm.org/show_bug.cgi?id=39206> *I could not find any
>> explicit section of the spec that says the processor should be effected by
>> compilation of a module, however clang seems to be hiding macros that were
>> defined in included header files that were also included in the interface
>> module.
>> If this is indeed a bug I would also appreciate help pointing in the
>> right direction in the code. I have spent some time trying to find where
>> the actual check is occurring that is hiding macros, but am at a loss.
>> Thanks,
>> Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20181021/cf8c7ba9/attachment.html>

More information about the cfe-dev mailing list