Author: Chuanqi Xu Date: 2023-02-16T17:02:04+08:00 New Revision: f8d5f0e53b04040cebbba639530133b261a4432f
URL: https://github.com/llvm/llvm-project/commit/f8d5f0e53b04040cebbba639530133b261a4432f DIFF: https://github.com/llvm/llvm-project/commit/f8d5f0e53b04040cebbba639530133b261a4432f.diff LOG: [NFC] Add two tests for C++ modules One test for checking the decls in language linkage shouldn't be discarded and can be mangled correctly. Another one for checking we can't export again in an export decl. Added: clang/test/Modules/export-in-another-export.cppm clang/test/Modules/language-linkage.cppm Modified: Removed: ################################################################################ diff --git a/clang/test/Modules/export-in-another-export.cppm b/clang/test/Modules/export-in-another-export.cppm new file mode 100644 index 000000000000..38cb4d6c4a8c --- /dev/null +++ b/clang/test/Modules/export-in-another-export.cppm @@ -0,0 +1,5 @@ +// RUN: %clang_cc1 -std=c++20 %s -fsyntax-only -verify +export module M; +export { // expected-note {{export block begins here}} + export int foo() { return 43; } // expected-error {{export declaration appears within another export declaration}} +} diff --git a/clang/test/Modules/language-linkage.cppm b/clang/test/Modules/language-linkage.cppm new file mode 100644 index 000000000000..bf7982cd9207 --- /dev/null +++ b/clang/test/Modules/language-linkage.cppm @@ -0,0 +1,18 @@ +// Make sure that the declarations inside the language linkage can +// be generated correctly. +// +// RUN: rm -fr %t +// RUN: mkdir %t +// +// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %s -emit-module-interface -o %t/M.pcm +// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/M.pcm -S -emit-llvm -disable-llvm-passes -o - | FileCheck %s +export module M; + +extern "C++" { +void foo() {} +} + +extern "C" void bar() {} + +// CHECK: define {{.*}}@bar( +// CHECK: define {{.*}}@_Z3foov( _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits