PR c++/79607 - ICE with T{} initializer
* decl.c (type_dependent_init_p): Check the type of a CONSTRUCTOR. From-SVN: r245592
This commit is contained in:
parent
7950124ec2
commit
736a933c00
|
@ -1,5 +1,8 @@
|
|||
2017-02-19 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/79607 - ICE with T{} initializer
|
||||
* decl.c (type_dependent_init_p): Check the type of a CONSTRUCTOR.
|
||||
|
||||
PR c++/79566 - elaborated-type-specifier in range for
|
||||
* parser.c (cp_parser_simple_declaration): Fix check for type
|
||||
definition.
|
||||
|
|
|
@ -6662,6 +6662,9 @@ type_dependent_init_p (tree init)
|
|||
else if (TREE_CODE (init) == CONSTRUCTOR)
|
||||
/* A brace-enclosed initializer, e.g.: int i = { 3 }; ? */
|
||||
{
|
||||
if (dependent_type_p (TREE_TYPE (init)))
|
||||
return true;
|
||||
|
||||
vec<constructor_elt, va_gc> *elts;
|
||||
size_t nelts;
|
||||
size_t i;
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
// PR c++/79607
|
||||
// { dg-do compile { target c++11 } }
|
||||
|
||||
template<typename T> struct A
|
||||
{
|
||||
static const int i = int{T{}};
|
||||
};
|
||||
|
||||
A<int> a;
|
Loading…
Reference in New Issue