================
@@ -35,31 +35,27 @@ namespace ConstDestruction {
 
     constexpr ~D() {
       if (!can_destroy)
-        throw "oh no"; // expected-note {{subexpression not valid}}
+        throw "oh no";
     }
   };
 
-  template<D d>
-  void f() {} // expected-note 2{{invalid explicitly-specified argument}}
+  template<D d> // expected-note 2{{template parameter is declared here}}
+  void f() {} // expected-note 2{{candidate template ignored: invalid 
explicitly-specified argument}}
 
   void g() {
     f<D{0, true}>();
     f<D{0, false}>(); // expected-error {{no matching function}}
   }
 
   // We can SFINAE on constant destruction.
-  template<typename T> auto h(T t) -> decltype(f<T{1, false}>());
-  template<typename T> auto h(T t) -> decltype(f<T{1, true}>());
+  // template<typename T> auto h(T t) -> decltype(f<T{1, false}>());
+  // template<typename T> auto h(T t) -> decltype(f<T{1, true}>());
 
   void i() {
-    h(D());
+    //h(D());
     // Ensure we don't cache an invalid template argument after we've already
     // seen it in a SFINAE context.
     f<D{1, false}>(); // expected-error {{no matching function}}
     f<D{1, true}>();
   }
-
-  template<D d> struct Z {};
-  Z<D{2, true}> z1;
-  Z<D{2, false}> z2; // expected-error {{non-type template argument is not a 
constant expression}} expected-note-re {{in call to '{{.*}}.~D()'}}
----------------
mizvekov wrote:

What is up with these commented and removed tests?

https://github.com/llvm/llvm-project/pull/122754
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to