Gaby,

with all respect, this is not a campaign against Microsoft.
This is a request to make modules a success.

May be it is your problem to take criticism against your design decision personally. But I only ask and try to understand and write where I see problems. The truth is probably in the middle.

I wrote here what Cameron explained yesterday on Twitter.
I also did not say that -include is bad.
But I wonder now why gcc does not need module options then...

You also never answered WHY you don't want to make module handling simple for those who have a different opinion than you about how to deal with source code.
Our dispute would immediately be over.

But I stop now and will teach things as they are.
Thanks for taking your time.

Best
Nico


Am 20. April 2022 21:09:11 MESZ schrieb Gabriel Dos Reis <gdr@microsoft.com>:
Other compilers like GCC have a similar facility, spelled -include.
This is nowhere near a Microsoft-specific challenge, and there's
nothing new or shocking about it.

I just hope that when Nico's anti-Microsoft campaign cools down, we can come back to the actual technical issues and hopefully I don't have to spend lot of energy debunking strawman arguments and that saved energy is spent on things that benefit the C++ community at large. I have been trying to filter signals from the noise, but it has been getting harder and harder.

-- Gaby

-----Original Message-----
From: SG15 <sg15-bounces@lists.isocpp.org> On Behalf Of Ville Voutilainen via SG15
Sent: Wednesday, April 20, 2022 11:26 AM
To: Evolution Working Group mailing list <ext@lists.isocpp.org>
Cc: Ville Voutilainen <ville.voutilainen@gmail.com>; Nicolai Josuttis <nico@josuttis.de>; ISO C++ Tooling Study Group <sg15@lists.isocpp.org>; Peter Dimov <pdimov@gmail.com>; Tom Honermann <tom@honermann.net>; Nathan Sidwell <nathan@acm.org>
Subject: Re: [SG15] [isocpp-ext] Can we expect that all C++ source files can have the same suffix?

On Wed, 20 Apr 2022 at 21:10, Nicolai Josuttis via Ext
<ext@lists.isocpp.org> wrote:
IMO a compiler should parse a C++ file while a build system should not have to do that.

*sigh*

Build systems have done that for ages. You don't have to specify the
header dependencies of your source files,
build systems glean that information out of your souce files automatically.

I learned yesterday that the/one reason Microsoft has a problem with supporting no specific extensions and not specific command-line options is that they have options to inject headers into c++ source files (/FI and -include) and want to support that still for module units. They have to know when starting the compilation, whether it is a module to decide whether to inject the header file at the front or in the global module fragment.

I don't know whether that approach is valid at all. But it seems to hinder Microsoft to come up with a simple clean solution for the problem (yes, Gaby, formally this is not a "problem", you do everything standard conforming).

This problem can be solved and should be solve by the compiler. So I strongly recommend to do that.

Other compilers like GCC have a similar facility, spelled -include.
This is nowhere near a Microsoft-specific challenge, and there's
nothing new or shocking about it.
SG15 mailing list
SG15@lists.isocpp.org
https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&amp;data=05%7C01%7Cgdr%40microsoft.com%7Cde0824de03a0491e40ec08da22fb37db%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637860759643106317%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=DHkz8JoUvDuOqVlWwpzchz7byGcRZLGfQ60Jz20%2Bzts%3D&amp;reserved=0
--
Nico Josuttis
(sent from my mobile phone)