================ @@ -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:
> @AaronBallman to clarify the status quo is that this crashes in 19. (and did > not crash in 18) Yup, I knew it was a regression (boo!); if we fixed it a few weeks ago, I think it'd be an easier sell for backporting. My concern is we don't have enough bake time for 19.0.1, and once that goes out we no longer take ABI breaking changes for subsequent releases of 19.x. > Lastly, keeping the previous behavior under a different ABI flag seems > problematic, as we would be also tying these bugs to the flag. That's the usual point to the flag; we start doing the right thing by default, but we leave an escape hatch for people relying on the previous ABI (despite the bugs) because we don't know who is relying on the old behavior. https://github.com/llvm/llvm-project/pull/106335 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits