From 011ce3f3c2d1a534b2671ed6d5204fec9120fff7 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Sat, 16 Mar 2013 22:34:03 -0400 Subject: [PATCH] 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 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/pt.c | 5 ++--- 2 files changed, 6 insertions(+), 3 deletions(-) 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; -- 2.30.2