diff options
author | RichardLuo <CommAdama@outlook.com> | 2024-06-25 22:57:53 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-25 09:57:53 -0500 |
commit | ed1273d4ddee160f847cbee28714c79353022a3c (patch) | |
tree | ad63a1490e64af6ed29d43db605cf44b99185c72 | |
parent | 2274c66e6faaaf29ad693b1ae3e5a7b0228a1950 (diff) | |
download | llvm-ed1273d4ddee160f847cbee28714c79353022a3c.zip llvm-ed1273d4ddee160f847cbee28714c79353022a3c.tar.gz llvm-ed1273d4ddee160f847cbee28714c79353022a3c.tar.bz2 |
[libc++] change the visibility of libc++ header to public in libcxx module (#91240)
This PR addresses a problem that headers may not be able to be found if
`#include` is used with std modules.
Consider the following file:
#include <boost/json.hpp>
import std;
int main(int, const char **) { }
Boost will include something from libc++, but we are using -nostdinc++
at [1] so the compiler can not find any default std header. Therefore
the locally built header needs to be public.
[1]: https://github.com/RichardLuo0/llvm-project/blob/15fdd47c4b110b64dc61f636e42e0484bf8bdbe0/libcxx/modules/CMakeLists.txt.in#L52
-rw-r--r-- | libcxx/modules/CMakeLists.txt.in | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libcxx/modules/CMakeLists.txt.in b/libcxx/modules/CMakeLists.txt.in index c35f6fe..9fef16e 100644 --- a/libcxx/modules/CMakeLists.txt.in +++ b/libcxx/modules/CMakeLists.txt.in @@ -41,7 +41,7 @@ target_sources(std std.cppm ) -target_include_directories(std SYSTEM PRIVATE @LIBCXX_CONFIGURED_INCLUDE_DIRS@) +target_include_directories(std SYSTEM PUBLIC @LIBCXX_CONFIGURED_INCLUDE_DIRS@) if (NOT @LIBCXX_ENABLE_EXCEPTIONS@) target_compile_options(std PUBLIC -fno-exceptions) |