diff --git a/libcxx/test/std/modules/std.pass.cpp b/libcxx/test/std/modules/std.pass.cpp new file mode 100644 --- /dev/null +++ b/libcxx/test/std/modules/std.pass.cpp @@ -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; +} diff --git a/libcxx/utils/libcxx/test/dsl.py b/libcxx/utils/libcxx/test/dsl.py --- a/libcxx/utils/libcxx/test/dsl.py +++ b/libcxx/utils/libcxx/test/dsl.py @@ -456,8 +456,12 @@ 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))