C++ Logo

sg15

Advanced search

Re: What is the outcome of the 12-12 meeting for the initial question: the location of std module units?

From: Chuanqi Xu <chuanqi.xcq_at_[hidden]>
Date: Thu, 14 Dec 2023 23:45:10 +0800
I don't understand the question. I mean, is it true that we have a one-to-one (or zero) map from platforms to default standard libraries? If it is not true, then I misunderstood it from the beginning. And if it is true, why can't the build system get the maps then get the standard libraries by the current platforms?
Thanks,
Chuanqi
------------------------------------------------------------------
From:Daniel Ruoso <daniel_at_[hidden]>
Send Time:2023 Dec. 14 (Thu.) 23:27
To:Chuanqi <chuanqi.xcq_at_[hidden]>
Cc: SG15 <sg15_at_[hidden]>; Michael Spencer <bigcheesegs_at_[hidden]>
Subject:Re: [SG15] What is the outcome of the 12-12 meeting for the initial question: the location of std module units?
On Thu, Dec 14, 2023, 09:58 Chuanqi Xu <chuanqi.xcq_at_[hidden] <mailto:chuanqi.xcq_at_[hidden] >> wrote:
I don't think there is a **default standard library** for a compiler. For example, for clang, clang will find the libstdc++ on linux but libc++ on macos. It is actually highly platform dependent. The compiler just hardcode these things in the driver.
That's only true in the abstract.
In practice the compiler, for the user invoking it, has a default standard library defined at build time.
When you invoke CMake without specifying anything, it will just accept the compiler it finds in the PATH, and it will just trust that it has a baked in standard library when you invoke it.
So, in that scenario, what are the steps that CMake would do to discover the path to the metadata file?
Daniel

Received on 2023-12-14 15:45:17