https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99456

--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Unfortunately the #c9 patch caused
+FAIL: g++.dg/cpp1y/constexpr-82304.C  -std=c++14  (test for errors, line 9)
+FAIL: g++.dg/cpp1y/constexpr-82304.C  -std=c++17  (test for errors, line 9)
+FAIL: g++.dg/cpp1y/constexpr-82304.C  -std=c++2a  (test for errors, line 9)
+FAIL: g++.dg/ext/vla22.C  -std=gnu++11 (test for excess errors)
+FAIL: g++.dg/ext/vla22.C  -std=gnu++14 (test for excess errors)
+FAIL: g++.dg/ext/vla22.C  -std=gnu++17 (test for excess errors)
+FAIL: g++.dg/ext/vla22.C  -std=gnu++2a (test for excess errors)
+FAIL: g++.dg/template/pr79650.C  -std=gnu++11  (test for errors, line 15)
+FAIL: g++.dg/template/pr79650.C  -std=gnu++11  (test for errors, line 17)
+FAIL: g++.dg/template/pr79650.C  -std=gnu++14  (test for errors, line 15)
+FAIL: g++.dg/template/pr79650.C  -std=gnu++14  (test for errors, line 17)
+FAIL: g++.dg/template/pr79650.C  -std=gnu++17  (test for errors, line 15)
+FAIL: g++.dg/template/pr79650.C  -std=gnu++17  (test for errors, line 17)
+FAIL: g++.dg/template/pr79650.C  -std=gnu++2a  (test for errors, line 15)
+FAIL: g++.dg/template/pr79650.C  -std=gnu++2a  (test for errors, line 17)
regressions.

I think the first one is about the non-strict optimizations being applied even
to initializers of variables of automatic variables in constexpr functions.
I guess we need to avoid doing that before we copy the body for constexpr
evaluation purposes.

vla22.C emits extra -Wnarrowing warning on the invalid code, dunno, perhaps it
is ok to adjust the testcase?

And pr79650.C is yet another thing, in that case it is about non-type template
argument and the expected error disappearing there.

Reply via email to