[Bug c++/85092] [8 Regression] ICE under -std=gnu++1z in build_over_call under, at cp/call.c:8149

2018-04-03 Thread proski at gnu dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85092

--- Comment #7 from Pavel Roskin  ---
I confirm that the issue has been fixed in the project I'm working on. Thank
you!

[Bug c++/85092] [8 Regression] ICE under -std=gnu++1z in build_over_call under, at cp/call.c:8149

2018-04-03 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85092

Jason Merrill  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #6 from Jason Merrill  ---
Fixed.

[Bug c++/85092] [8 Regression] ICE under -std=gnu++1z in build_over_call under, at cp/call.c:8149

2018-04-03 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85092

--- Comment #5 from Jason Merrill  ---
Author: jason
Date: Tue Apr  3 19:13:42 2018
New Revision: 259052

URL: https://gcc.gnu.org/viewcvs?rev=259052=gcc=rev
Log:
PR c++/85092 - C++17 ICE with unused list constructor.

* call.c (conv_binds_ref_to_prvalue): Also count ck_identity
from a TARGET_EXPR.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/initlist99.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/call.c

[Bug c++/85092] [8 Regression] ICE under -std=gnu++1z in build_over_call under, at cp/call.c:8149

2018-04-03 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85092

Jason Merrill  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||jason at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |jason at gcc dot gnu.org

[Bug c++/85092] [8 Regression] ICE under -std=gnu++1z in build_over_call under, at cp/call.c:8149

2018-04-03 Thread jason at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85092

--- Comment #4 from Jason Merrill  ---
*** Bug 85101 has been marked as a duplicate of this bug. ***

[Bug c++/85092] [8 Regression] ICE under -std=gnu++1z in build_over_call under, at cp/call.c:8149

2018-03-28 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85092

Martin Sebor  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2018-03-28
 Ever confirmed|0   |1

--- Comment #3 from Martin Sebor  ---
Really confirmed also with the first test case, similar stack trace:

internal compiler error: in build_over_call, at cp/call.c:8149
 Part(const std::int32_t& value) : value{std::to_string(value)} {}
  ^
0x80e3f9 build_over_call
/ssd/src/gcc/svn/gcc/cp/call.c:8143
0x814701 build_new_method_call_1
/ssd/src/gcc/svn/gcc/cp/call.c:9363
...

[Bug c++/85092] [8 Regression] ICE under -std=gnu++1z in build_over_call under, at cp/call.c:8149

2018-03-28 Thread msebor at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85092

Martin Sebor  changed:

   What|Removed |Added

   Keywords||ice-on-valid-code
 CC||msebor at gcc dot gnu.org

--- Comment #2 from Martin Sebor  ---
Confirmed with the stack trace below (for the test case in comment #1).  The
failing assertion is the same on as in bug 85101 so it's likely a duplicate.

pr85092.C: In constructor ‘IntSet::IntSet(int)’:
pr85092.C:4:52: internal compiler error: in build_over_call, at cp/call.c:8149
 IntSet(int value) : value_{std::set{value}} {}
^
0x80e3f9 build_over_call
/ssd/src/gcc/svn/gcc/cp/call.c:8143
0x814701 build_new_method_call_1
/ssd/src/gcc/svn/gcc/cp/call.c:9363
0x814ce3 build_new_method_call(tree_node*, tree_node*, vec**, tree_node*, int, tree_node**, int)
/ssd/src/gcc/svn/gcc/cp/call.c:9439
0x811dc8 build_special_member_call(tree_node*, tree_node*, vec**, tree_node*, int, int)
/ssd/src/gcc/svn/gcc/cp/call.c:8969
0x93da93 expand_default_init
/ssd/src/gcc/svn/gcc/cp/init.c:1888
0x93e0fb expand_aggr_init_1
/ssd/src/gcc/svn/gcc/cp/init.c:2002
0x93cd0c build_aggr_init(tree_node*, tree_node*, int, int)
/ssd/src/gcc/svn/gcc/cp/init.c:1743
0x938fa4 perform_member_init
/ssd/src/gcc/svn/gcc/cp/init.c:847
0x93b4cd emit_mem_initializers(tree_node*)
/ssd/src/gcc/svn/gcc/cp/init.c:1294
0xab4d2a finish_mem_initializers(tree_node*)
/ssd/src/gcc/svn/gcc/cp/semantics.c:1704
0x9c8078 cp_parser_mem_initializer_list
/ssd/src/gcc/svn/gcc/cp/parser.c:14450
0x9c794d cp_parser_ctor_initializer_opt
/ssd/src/gcc/svn/gcc/cp/parser.c:14363
0x9d6270 cp_parser_ctor_initializer_opt_and_function_body
/ssd/src/gcc/svn/gcc/cp/parser.c:21811
0x9e0563 cp_parser_function_definition_after_declarator
/ssd/src/gcc/svn/gcc/cp/parser.c:26847
0x9e2dce cp_parser_late_parsing_for_member
/ssd/src/gcc/svn/gcc/cp/parser.c:27728
0x9d8a5f cp_parser_class_specifier_1
/ssd/src/gcc/svn/gcc/cp/parser.c:22765
0x9d8b29 cp_parser_class_specifier
/ssd/src/gcc/svn/gcc/cp/parser.c:22791
0x9cbef5 cp_parser_type_specifier
/ssd/src/gcc/svn/gcc/cp/parser.c:16776
0x9c6642 cp_parser_decl_specifier_seq
/ssd/src/gcc/svn/gcc/cp/parser.c:13631
0x9c4e1a cp_parser_simple_declaration
/ssd/src/gcc/svn/gcc/cp/parser.c:12940
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See  for instructions.

[Bug c++/85092] [8 Regression] ICE under -std=gnu++1z in build_over_call under, at cp/call.c:8149

2018-03-28 Thread proski at gnu dot org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85092

Pavel Roskin  changed:

   What|Removed |Added

 CC||proski at gnu dot org

--- Comment #1 from Pavel Roskin  ---
Possibly even simpler case:

#include 
struct IntSet {
IntSet(int value) : value_{std::set{value}} {}
std::set value_;
};

I'm testing gcc-8 on a large project that compiled with an older gcc-8 snapshot
and this bug is triggered on many files. The workaround is to use () rather
than {} for constructor calls.

[Bug c++/85092] [8 Regression] ICE under -std=gnu++1z in build_over_call under, at cp/call.c:8149

2018-03-28 Thread rguenth at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85092

Richard Biener  changed:

   What|Removed |Added

   Target Milestone|--- |8.0
Summary|ICE under -std=gnu++1z in   |[8 Regression] ICE under
   |build_over_call under, at   |-std=gnu++1z in
   |cp/call.c:8149  |build_over_call under, at
   ||cp/call.c:8149