[clang] [clang] mangle placeholder for deduced type as a template-prefix (PR #106335)

Aaron Ballman via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 28 05:33:51 PDT 2024


================
@@ -0,0 +1,12 @@
+// RUN: %clang_cc1 -std=c++20 %s -triple %itanium_abi_triple -emit-llvm -o - | FileCheck %s
+
+template <template <class> class S>
+void create_unique()
+  requires (S{0}, true) {}
+
+template <class Fn> struct A {
+  constexpr A(Fn) {};
+};
+
+template void create_unique<A>();
+// CHECK: @_Z13create_uniqueI1AEvvQcmtlT_Li0EELb1E(
----------------
AaronBallman wrote:

> Given that this changes looks correct we should land it, and because main is crashing, we should backport it.
So, we should remove the changelog entry and instead add a changelog entry to 19x explaining the breaking mangling change.

I think we've missed the 19.x cycle for this because it involves an ABI break (and final goes out in less than a week, which is not enough bake time for us to land it before 19.0.1): https://llvm.org/docs/HowToReleaseLLVM.html#release-patch-rules

> If at all possible we might want to consider putting the new mangling under an ABI flag.

+1

https://github.com/llvm/llvm-project/pull/106335


More information about the cfe-commits mailing list