[clang] f5fd183 - [NFC] [C++20] [Modules] Remove pr60085.cppm with deprecated practice
Chuanqi Xu via cfe-commits
cfe-commits at lists.llvm.org
Thu Jan 4 19:32:19 PST 2024
Author: Chuanqi Xu
Date: 2024-01-05T11:31:22+08:00
New Revision: f5fd1836836e0d37dea61cc842199713cc0e2fc4
URL: https://github.com/llvm/llvm-project/commit/f5fd1836836e0d37dea61cc842199713cc0e2fc4
DIFF: https://github.com/llvm/llvm-project/commit/f5fd1836836e0d37dea61cc842199713cc0e2fc4.diff
LOG: [NFC] [C++20] [Modules] Remove pr60085.cppm with deprecated practice
See https://github.com/llvm/llvm-project/issues/60085 for the complete
story.
Previously I thought the problem got fixed surprisingly. But it is not
true. I just tested it with a deprecated method. My bad. Then the
deprecated style should be removed and the proper style can't work. So
I'll remove the test and reopen that issue to look into it.
Added:
Modified:
Removed:
clang/test/Modules/pr60085.cppm
################################################################################
diff --git a/clang/test/Modules/pr60085.cppm b/clang/test/Modules/pr60085.cppm
deleted file mode 100644
index fba60120640471..00000000000000
--- a/clang/test/Modules/pr60085.cppm
+++ /dev/null
@@ -1,98 +0,0 @@
-// RUN: rm -rf %t
-// RUN: mkdir %t
-// RUN: split-file %s %t
-//
-// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/d.cppm \
-// RUN: -emit-module-interface -o %t/d.pcm
-// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/c.cppm \
-// RUN: -emit-module-interface -o %t/c.pcm -fmodule-file=%t/d.pcm
-// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/b.cppm \
-// RUN: -emit-module-interface -o %t/b.pcm -fmodule-file=%t/d.pcm
-// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/a.cppm \
-// RUN: -emit-module-interface -o %t/a.pcm -fmodule-file=%t/d.pcm \
-// RUN: -fmodule-file=%t/c.pcm -fmodule-file=%t/b.pcm
-// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/a.pcm \
-// RUN: -S -emit-llvm -disable-llvm-passes -o - | FileCheck %t/a.cppm
-//
-// Use -fmodule-file=<module-name>=<BMI-path>
-// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/d.cppm \
-// RUN: -emit-module-interface -o %t/d.pcm
-// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/c.cppm \
-// RUN: -emit-module-interface -o %t/c.pcm -fmodule-file=%t/d.pcm
-// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/b.cppm \
-// RUN: -emit-module-interface -o %t/b.pcm -fmodule-file=%t/d.pcm
-// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/a.cppm \
-// RUN: -emit-module-interface -o %t/a.pcm -fmodule-file=%t/d.pcm \
-// RUN: -fmodule-file=%t/c.pcm -fmodule-file=%t/b.pcm
-// RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/a.pcm \
-// RUN: -S -emit-llvm -disable-llvm-passes -o - | FileCheck %t/a.cppm
-
-//--- d.cppm
-export module d;
-
-export template<typename>
-struct integer {
- using type = int;
-
- static constexpr auto value() {
- return 0;
- }
-
- friend constexpr void f(integer const x) {
- x.value();
- }
-};
-
-export constexpr void ddd(auto const value) {
- f(value);
-}
-
-
-template<typename T>
-constexpr auto dd = T();
-
-export template<typename T>
-constexpr auto d() {
- dd<T>;
-}
-
-//--- c.cppm
-export module c;
-
-import d;
-
-template<typename T>
-auto cc = T();
-
-auto c() {
- cc<integer<int>>;
- integer<int>().value();
-}
-
-//--- b.cppm
-export module b;
-
-import d;
-
-auto b() {
- integer<int>::type;
-}
-
-//--- a.cppm
-export module a;
-
-import b;
-import c;
-import d;
-
-constexpr void aa() {
- d<integer<unsigned>>();
- ddd(integer<int>());
-}
-
-export extern "C" void a() {
- aa();
-}
-
-// Checks that we emit the IR successfully.
-// CHECK: define{{.*}}@a(
More information about the cfe-commits
mailing list