C++ Logo


Advanced search

Re: [isocpp-ext] Can we expect that all C++ source files can have the same suffix?

From: Tom Honermann <tom_at_[hidden]>
Date: Mon, 25 Apr 2022 12:20:21 -0400
On 4/25/22 8:22 AM, Gabriel Dos Reis wrote:
> Or
> c) continue to use your development environment (whether it is integrated or unintegrated is irrelevant)
> 😊
> While it is useful for people to have the instant gratification of sand castle building and testing some ideas in the small, building skyscrapers demand different set of tools and skills. The tools we use to build sand castles aren't the same we deploy for skyscrapers.
> "using modules" must mean something more than just saying '$CC $CXX20OPTION SOURCEFILE.cc'. It is for programming in the large, which in reality demands using build tools.

Are you suggesting that the following program is an inappropriate use of
modules and that header files should be used instead?

import std;
int main() {
   std::print("👋 Gaby\n");


> -- Gaby
> -----Original Message-----
> From: SG15 <sg15-bounces_at_[hidden]> On Behalf Of Nathan Sidwell via SG15
> Sent: Monday, April 25, 2022 4:24 AM
> To: Daniel Ruoso <daniel_at_[hidden]>; sg15_at_[hidden]
> Cc: Nathan Sidwell <nathan_at_[hidden]>; Tom Honermann <tom_at_[hidden]>; ext_at_[hidden]; Peter Dimov <pdimov_at_[hidden]>
> Subject: Re: [SG15] [isocpp-ext] Can we expect that all C++ source files can have the same suffix?
> On 4/20/22 09:22, Daniel Ruoso wrote:
>> The thing that I am confused about is: why does it have to be a
>> feature of the compiler?
>> If folks want a build system for toy examples that works with a single
>> command line, there's nothing stopping you from doing it. In fact, you
>> could even wrap an existing build system into a convenient script that
>> generates a project from the files given and then invokes the
>> configure and build steps.
>> Why do we need to coerce compilers into playing this role?
> It's a marketing problem. Consider:
> a) 'You want to use modules? Great! Just say '$CC $CXX20OPTION
> b) 'You want to use modules? Great! Just install $SPECIALTOOL, and use a
> this new .ixx suffix. $SPECIALTOOL is just like your compiler except
> that ...'
> #b seems a greater impediment to me. (For those who are unaware, I
> considered a different suffix for GCC, but that would have meant (a)
> updating bits of fiddly GCC configury, but most importantly teaching
> emacs new things and I was too lazy to do that -- even that little speed
> bump was too much!)
> Are people familiar with libtool? An existing scheme to provide a
> platform-neutral command line compilation/linker thingy. Ugh!
> nathan
>> Em qua., 20 de abr. de 2022 às 07:42, Boris Kolpackov via SG15
>> <sg15_at_[hidden]> escreveu:
>>> Peter Dimov <pdimov_at_[hidden]> writes:
>>>> [...] and
>>>> import <mylib/myheader.hpp>;
>>>> working without a build system wouldn't be that bad either.
>>> Would you be prepared to wait a potentially significant time
>>> while the compiler builds (likely serially) BMIs for this
>>> header unit and any other header units and/or named modules
>>> that could be imported, transitively (while dumping all those
>>> BMIs on your disk somewhere)?
>>> In a way, it might be cleaner for a build system to provide
>>> the "compiler driver" mode rather than for the compiler to
>>> provide the "build system" mode. Plus the build system will
>>> give you some parallelism (e.g., for building named modules).
>>> _______________________________________________
>>> SG15 mailing list
>>> SG15_at_[hidden]
>>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.isocpp.org%2Fmailman%2Flistinfo.cgi%2Fsg15&amp;data=05%7C01%7Cgdr%40microsoft.com%7C6a3f0ae792314634cf6c08da26ae26ce%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637864826664398401%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=TqPKX46sXFlhz%2F%2BgefWFGNvLbBQqMOP8ZxEuz50eUl4%3D&amp;reserved=0

Received on 2022-04-25 16:20:25