[Bug c++/80805] ICE in sufficiently complex code with -g (dump_aggr_type)

2017-10-07 Thread paolo.carlini at oracle dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80805

Paolo Carlini  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED
   Target Milestone|--- |8.0

--- Comment #4 from Paolo Carlini  ---
Fixed in trunk.

[Bug c++/80805] ICE in sufficiently complex code with -g (dump_aggr_type)

2017-10-07 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80805

--- Comment #3 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Sat Oct  7 16:10:21 2017
New Revision: 253511

URL: https://gcc.gnu.org/viewcvs?rev=253511&root=gcc&view=rev
Log:
2017-10-07  Paolo Carlini  

PR c++/80805
* g++.dg/cpp0x/pr80805.C: New.

Modified:
trunk/gcc/testsuite/ChangeLog

[Bug c++/80805] ICE in sufficiently complex code with -g (dump_aggr_type)

2017-10-07 Thread paolo at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80805

--- Comment #2 from paolo at gcc dot gnu.org  ---
Author: paolo
Date: Sat Oct  7 16:10:02 2017
New Revision: 253510

URL: https://gcc.gnu.org/viewcvs?rev=253510&root=gcc&view=rev
Log:
2017-10-07  Paolo Carlini  

PR c++/80805
* g++.dg/cpp0x/pr80805.C: New.

Added:
trunk/gcc/testsuite/g++.dg/cpp0x/pr80805.C

[Bug c++/80805] ICE in sufficiently complex code with -g (dump_aggr_type)

2017-05-17 Thread marxin at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80805

Martin Liška  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2017-05-17
 CC||marxin at gcc dot gnu.org
 Ever confirmed|0   |1

--- Comment #1 from Martin Liška  ---
Confirmed, 4.9.x rejects the code:

pr80805.cpp: In instantiation of ‘g():: [with D = int; X = ]’:
pr80805.cpp:12:6:   required from ‘struct g() [with D = int]::’
pr80805.cpp:16:7:   required from ‘void g() [with D = int]’
pr80805.cpp:18:21:   required from here
pr80805.cpp:15:18: error: the value of ‘H’ is not usable in a constant
expression
 return X{};
  ^
pr80805.cpp:10:27: note: ‘H’ used in its own initializer
 constexpr static bool H = P::value;
   ^
pr80805.cpp:15:18: note: in template argument for type ‘bool’ 
 return X{};
  ^