================
@@ -67,15 +68,19 @@ struct Bar {
   template <typename U, int num>
   constexpr int fail2() const { return 1 / 0; } // expected-warning {{division 
by zero}} \
                                                 // expected-note {{division by 
zero}}
+#ifndef NEW_CONST_INTERP
   template <typename ...Args>
   constexpr int fail3(Args... args) const { return 1 / 0; } // 
expected-warning {{division by zero}} \
                                                 // expected-note {{division by 
zero}}
+#endif
 };
 
 constexpr Bar<int> bar;
 static_assert(bar.fail1<int>()); // expected-error {{constant expression}} \
                                  // expected-note {{in call to 
'bar.fail1<int>()'}}
 static_assert(bar.fail2<int*, 42>()); // expected-error {{constant 
expression}} \
                                       // expected-note {{in call to 
'bar.fail2<int *, 42>()'}}
+#ifndef NEW_CONST_INTERP
 static_assert(bar.fail3(3, 4UL, bar, &bar)); // expected-error {{constant 
expression}} \
                                              // expected-note {{in call to 
'bar.fail3<int, unsigned long, Bar<int>, const Bar<int> *>(3, 4, {}, &bar)'}}
----------------
tbaederr wrote:

I don't know what the exact problems is, how it's broken or what the current 
output is, but if the new interpreter can't handle the entire file yet, it's 
best to copy it to `test/AST/Interp/` and add the current output (provided it 
doesn't crash).  Fixing it to handle the full file can come in a later commit, 
yes

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

Reply via email to