C++ Logo

sg15

Advanced search

Re: Scheduling a virtual meeting to discuss where the std module source file should live

From: Mark de Wever <koraq_at_[hidden]>
Date: Sun, 10 Dec 2023 20:44:52 +0100
On Sun, Dec 10, 2023 at 11:40:59AM -0500, Steve Downey wrote:
> Does the std module use the same .a/.so as as headers?

Yes this is the library shipped by the vendor.

> How does that work with headers and -fno-exception, or does that have
> to be taken care of today by the user?

I'm not sure, I've no experience with systems where exceptions are
disabled. Most of libc++'s configuration options do not modify the
compilation flags.

> The other question is if the interface goes in include/ or share/libc++ for
> FHS like layout, and then is it possible to deploy a commonly used BMI into
> lib or libexec.

We don't want to deploy BMI files. In Clang BMI's have the same
limitations as precomiled headers; almost all compilation flags makes
BMIs incompatible. The build system needs to build the BMIs from the
module source files. For example, std.cppm.

> FHS implicitly assumes a coherent installation within a $prefix, which also
> means that ABI affecting flags are fixed, so system compilers ought to be
> able to at least pre build the system std modules.

At least for now that's not possible with Clang. I'm not sure whether it
ever be possible. For example, changing -std=c++xx flag changes the
exported named declarations of the module.

Cheers,
Mark

Received on 2023-12-10 19:44:57