C++ Logo

sg15

Advanced search

Re: [SG15] Draft: Requirements for Usage of C++ Modules at Bloomberg

From: Gabriel Dos Reis <gdr_at_[hidden]>
Date: Fri, 18 Jun 2021 18:55:14 +0000
I am agree with your clarification of the issue regarding having to re-run the preprocessor. I suspect I am not quite sure about the medicine :-)

-- Gaby



________________________________
From: Daniel Ruoso <daniel_at_[hidden]>
Sent: Friday, June 18, 2021 11:21:31 AM
To: Gabriel Dos Reis <gdr_at_[hidden]>
Cc: sg15_at_[hidden] <sg15_at_[hidden]>; David Blaikie <dblaikie_at_[hidden]>
Subject: Re: [SG15] Draft: Requirements for Usage of C++ Modules at Bloomberg

On Fri, Jun 18, 2021 at 2:01 PM Gabriel Dos Reis <gdr_at_[hidden]<mailto:gdr_at_[hidden]>> wrote:

  * but you cannot discover the graph with a simple lexer

Yes, and I have not found that to be an actual problem in practice. In fact there is really nothing new here


You are right that when you look at the translation units you're trying to build, nothing changes. And, to be clear, I'm not trying to change the language to preclude the use of macros in the source files themselves.

What I'm advocating for is that when you have a pre-built artifact, having to re-run that preprocessor for the module interface files at best is repeating work that was already done when the library was built, at worst may introduce an ODR violation. The requirement that I'm presenting is scoped for when you're consuming modules outside of the current build.

Received on 2021-06-18 13:55:18