Commit a426f31a by Jason Merrill Committed by Jason Merrill

re PR c++/66743 (ICE: tree check: expected record_type or union_type or…

re PR c++/66743 (ICE: tree check: expected record_type or union_type or qual_union_type, have underlying_type in for_each_template_parm_r, at cp/pt.c:8234)

	PR c++/66743
	* pt.c (for_each_template_parm_r) [UNDERLYING_TYPE]: Use
	TYPE_VALUES_RAW rather than TYPE_FIELDS.

From-SVN: r225365
parent a3d8e94a
2015-07-02 Jason Merrill <jason@redhat.com>
PR c++/66743
* pt.c (for_each_template_parm_r) [UNDERLYING_TYPE]: Use
TYPE_VALUES_RAW rather than TYPE_FIELDS.
2015-07-02 Andrew Sutton <andrew.n.sutton@gmail.com>
* pt.c (type_dependent_expression_p): Handle expressions
......
......@@ -8255,7 +8255,7 @@ for_each_template_parm_r (tree *tp, int *walk_subtrees, void *d)
case TYPEOF_TYPE:
case UNDERLYING_TYPE:
if (pfd->include_nondeduced_p
&& for_each_template_parm (TYPE_FIELDS (t), fn, data,
&& for_each_template_parm (TYPE_VALUES_RAW (t), fn, data,
pfd->visited,
pfd->include_nondeduced_p))
return error_mark_node;
......
// PR c++/66743
// { dg-do compile { target c++11 } }
template< class T >
struct
type_is { using type = T; };
template< class T >
using underlying_type = type_is<__underlying_type(T)>;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment