[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