From: Jason Merrill Date: Sun, 17 Mar 2013 02:34:03 +0000 (-0400) Subject: re PR c++/56238 (ICE in tree check: expected record_type or union_type or qual_union_... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=011ce3f3c2d1a534b2671ed6d5204fec9120fff7;p=gcc.git re PR c++/56238 (ICE in tree check: expected record_type or union_type or qual_union_type, have template_type_parm in lookup_conversions, at cp/search.c:2515) PR c++/56238 * pt.c (fold_non_dependent_expr_sfinae): Check instantiation_dependent_expression_p. From-SVN: r196724 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8aa39524b56..fa17a08c995 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,9 @@ 2013-03-16 Jason Merrill + PR c++/56238 + * pt.c (fold_non_dependent_expr_sfinae): Check + instantiation_dependent_expression_p. + PR c++/56095 * class.c (resolve_address_of_overloaded_function): Accept a reference to function for target_type. diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 36175ca7022..6264add0947 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -5044,9 +5044,8 @@ fold_non_dependent_expr_sfinae (tree expr, tsubst_flags_t complain) as two declarations of the same function, for example. */ if (processing_template_decl - && !type_dependent_expression_p (expr) - && potential_constant_expression (expr) - && !value_dependent_expression_p (expr)) + && !instantiation_dependent_expression_p (expr) + && potential_constant_expression (expr)) { HOST_WIDE_INT saved_processing_template_decl;