mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-27 06:16:06 +00:00
[libc++][test] Fixes using modules in the test suite.
Importing modules in the test suite failed due to linker errors. This fixes the issue and adds a minimal test to validate importing the std module works. Reviewed By: #libc, philnik Differential Revision: https://reviews.llvm.org/D156550
This commit is contained in:
parent
5656d7971b
commit
d7915c8aa9
22
libcxx/test/std/modules/std.pass.cpp
Normal file
22
libcxx/test/std/modules/std.pass.cpp
Normal file
@ -0,0 +1,22 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// UNSUPPORTEd: c++03, c++11, c++14, c++17, c++20
|
||||
// TODO MODULES fix c++26
|
||||
// XFAIL: c++26
|
||||
|
||||
// REQUIRES: use_module_std
|
||||
|
||||
// A minimal test to validate import works.
|
||||
|
||||
import std;
|
||||
|
||||
int main(int, char**) {
|
||||
std::println("Hello modular world");
|
||||
return 0;
|
||||
}
|
@ -456,8 +456,12 @@ class BuildStdModule(ConfigAction):
|
||||
flags = _getSubstitution('%{flags}', config)
|
||||
cmake = _getSubstitution('%{cmake}', config)
|
||||
|
||||
subprocess.check_call([cmake, "-DCMAKE_CXX_STANDARD=" + std, f"-DCMAKE_CXX_FLAGS={flags}", build], env={})
|
||||
subprocess.check_call([cmake, "--build", build], env={})
|
||||
subprocess.check_call([cmake, f"-DCMAKE_CXX_STANDARD={std}", f"-DCMAKE_CXX_FLAGS={flags}", build], env={})
|
||||
subprocess.check_call([cmake, "--build", build, "--", "-v"], env={})
|
||||
config.substitutions = _appendToSubstitution(
|
||||
# TODO MODULES Avoid manually modifying link_flags.
|
||||
config.substitutions, "%{link_flags}", os.path.join(build, "libc++std.a")
|
||||
)
|
||||
|
||||
def pretty(self, config, litParams):
|
||||
return "building std module with flags {}".format(_getSubstitution('%{flags}', config))
|
||||
|
Loading…
x
Reference in New Issue
Block a user