[Bug c++/84665] [7/8 Regression] internal compiler error: in build_value_init, at cp/init.c:343
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84665 Jason Merrill changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|--- |FIXED --- Comment #6 from Jason Merrill --- Fixed.
[Bug c++/84665] [7/8 Regression] internal compiler error: in build_value_init, at cp/init.c:343
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84665 --- Comment #5 from Jason Merrill --- Author: jason Date: Thu Apr 5 18:27:43 2018 New Revision: 259146 URL: https://gcc.gnu.org/viewcvs?rev=259146=gcc=rev Log: PR c++/84665 - ICE with array of empty class. * decl2.c (cp_check_const_attributes): Use fold_non_dependent_expr. Added: branches/gcc-7-branch/gcc/testsuite/g++.dg/ext/attr-noinline-4.C Modified: branches/gcc-7-branch/gcc/cp/ChangeLog branches/gcc-7-branch/gcc/cp/decl2.c
[Bug c++/84665] [7/8 Regression] internal compiler error: in build_value_init, at cp/init.c:343
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84665 --- Comment #4 from Jason Merrill --- Author: jason Date: Thu Apr 5 16:04:08 2018 New Revision: 259132 URL: https://gcc.gnu.org/viewcvs?rev=259132=gcc=rev Log: PR c++/84665 - ICE with array of empty class. * decl2.c (cp_check_const_attributes): Use fold_non_dependent_expr. Added: trunk/gcc/testsuite/g++.dg/ext/attr-noinline-4.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/decl2.c
[Bug c++/84665] [7/8 Regression] internal compiler error: in build_value_init, at cp/init.c:343
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84665 Jason Merrill changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |jason at gcc dot gnu.org
[Bug c++/84665] [7/8 Regression] internal compiler error: in build_value_init, at cp/init.c:343
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84665 --- Comment #3 from Jakub Jelinek --- Related to PR84940.
[Bug c++/84665] [7/8 Regression] internal compiler error: in build_value_init, at cp/init.c:343
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84665 --- Comment #2 from Jakub Jelinek --- We don't ICE with struct S { int s; } a[1]; but do ICE with e.g. struct S { constexpr S () {} } a[1]; build_value_init has: 341 /* The AGGR_INIT_EXPR tweaking below breaks in templates. */ 342 gcc_assert (!processing_template_decl 343 || (SCALAR_TYPE_P (type) || TREE_CODE (type) == ARRAY_TYPE)); early, and type in this case is RECORD_TYPE S. Called from: 2456 /* If it's within the array bounds but doesn't have an explicit 2457 initializer, it's value-initialized. */ 2458 tree val = build_value_init (elem_type, tf_warning_or_error); 2459 return cxx_eval_constant_expression (ctx, val, lval, non_constant_p, 2460 overflow_p); because a doesn't have explicit initializer. No idea what to do here...
[Bug c++/84665] [7/8 Regression] internal compiler error: in build_value_init, at cp/init.c:343
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84665 Jakub Jelinek changed: What|Removed |Added Priority|P3 |P2 Status|UNCONFIRMED |NEW Last reconfirmed||2018-03-02 CC||jakub at gcc dot gnu.org Target Milestone|--- |7.4 Summary|internal compiler error: in |[7/8 Regression] internal |build_value_init, at|compiler error: in |cp/init.c:343 |build_value_init, at ||cp/init.c:343 Ever confirmed|0 |1 --- Comment #1 from Jakub Jelinek --- struct S {} a[1]; template void foo () { __attribute__ ((noinline (a[0]))) int c = 0; } Started with r239267, before it has been rejected: pr84665.C: In function ‘void foo()’: pr84665.C:7:41: error: wrong number of arguments specified for ‘noinline’ attribute __attribute__ ((noinline (a[0]))) int c = 0; ^