aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichardLuo <CommAdama@outlook.com>2024-06-25 22:57:53 +0800
committerGitHub <noreply@github.com>2024-06-25 09:57:53 -0500
commited1273d4ddee160f847cbee28714c79353022a3c (patch)
treead63a1490e64af6ed29d43db605cf44b99185c72
parent2274c66e6faaaf29ad693b1ae3e5a7b0228a1950 (diff)
downloadllvm-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.in2
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)