================
@@ -433,3 +433,18 @@ namespace GH133610 {
   }
   // CHECK: 
@_ZN8GH1336101kINS_1CENS_1AIiEENS_1DEEEDtdtfp_sr1U1BIT1_EE3MEMET_T0_S5_
 } // namespace GH133610
+
+namespace GH88592 {
+  template <bool> struct A;
+  template <typename> struct B { static constexpr bool value = false; };
+
+  template <class T, template <class> class TT>
+  using C = A<TT<T>::value>;
+
+  // The alias substitutes B for TT without B having been mangled earlier, so
+  // the substituted template template parameter can't be a substitution and
+  // must be mangled as the replacement template itself.
+  template <class T, C<T, B> * = nullptr> void f() {}
+  template void f<int>();
+  // CHECK: @_ZN7GH885921fIiTnPNS_1AIXsr1BIT_EE5valueEEELPNS1_ILb0EEE0EEEvv
----------------
aokblast wrote:

Ok. I add 23ABI compatibility code now.

https://github.com/llvm/llvm-project/pull/227501
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to