[Bug c++/87075] [7/8/9 Regression] ICE when compiling the test suite of GLM 0.9.9.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87075 --- Comment #4 from Marek Polacek --- Reduced: template struct vec { struct { T y; }; vec() = default; }; template struct S { vec value[2]; template constexpr S(const U&); }; template template constexpr S::S(const X&) { value[0] = vec(); } Sm(0);
[Bug c++/87075] [7/8/9 Regression] ICE when compiling the test suite of GLM 0.9.9.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87075 Richard Biener changed: What|Removed |Added Priority|P3 |P2 Target Milestone|--- |7.4
[Bug c++/87075] [7/8/9 Regression] ICE when compiling the test suite of GLM 0.9.9.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87075 Jakub Jelinek changed: What|Removed |Added CC||jakub at gcc dot gnu.org, ||jason at gcc dot gnu.org --- Comment #5 from Jakub Jelinek --- Indeed. The VOID_CST elts of the CONSTRUCTOR come from the 8352 if (is_dummy_object (argarray[0])) 8353return force_target_expr (DECL_CONTEXT (fn), void_node, 8354 no_cleanup_complain); that patch added, and the constexpr handling code is upset that there is a VOID_CST rather than CONSTRUCTOR inside of the elts.
[Bug c++/87075] [7/8/9 Regression] ICE when compiling the test suite of GLM 0.9.9.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87075 Jason Merrill changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org
[Bug c++/87075] [7/8/9 Regression] ICE when compiling the test suite of GLM 0.9.9.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87075 --- Comment #6 from Jason Merrill --- Author: jason Date: Thu Sep 20 17:09:19 2018 New Revision: 264442 URL: https://gcc.gnu.org/viewcvs?rev=264442&root=gcc&view=rev Log: PR c++/87075 - ICE with constexpr array initialization. My patch of 2016-08-26 to avoid calling a trivial default constructor introduced TARGET_EXPRs initialized with void_node to express trivial initialization. But when this shows up in a VEC_INIT_EXPR, we weren't prepared to handle it. Fixed by handling it explicitly in cxx_eval_vec_init_1. * constexpr.c (cxx_eval_vec_init_1): Handle trivial initialization. Added: trunk/gcc/testsuite/g++.dg/cpp1y/constexpr-array6.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/constexpr.c
[Bug c++/87075] [7/8/9 Regression] ICE when compiling the test suite of GLM 0.9.9.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87075 Martin Liška changed: What|Removed |Added CC||marxin at gcc dot gnu.org --- Comment #7 from Martin Liška --- Jason: Can you please update Known to work?
[Bug c++/87075] [7/8/9 Regression] ICE when compiling the test suite of GLM 0.9.9.0
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87075 --- Comment #8 from Jason Merrill --- Author: jason Date: Mon Nov 26 15:53:43 2018 New Revision: 266468 URL: https://gcc.gnu.org/viewcvs?rev=266468&root=gcc&view=rev Log: PR c++/87075 - ICE with constexpr array initialization. My patch of 2016-08-26 to avoid calling a trivial default constructor introduced TARGET_EXPRs initialized with void_node to express trivial initialization. But when this shows up in a VEC_INIT_EXPR, we weren't prepared to handle it. Fixed by handling it explicitly in cxx_eval_vec_init_1. * constexpr.c (cxx_eval_vec_init_1): Handle trivial initialization. Added: branches/gcc-7-branch/gcc/testsuite/g++.dg/cpp1y/constexpr-array6.C Modified: branches/gcc-7-branch/gcc/cp/ChangeLog branches/gcc-7-branch/gcc/cp/constexpr.c