aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2013-03-16 22:34:03 -0400
committerJason Merrill <jason@gcc.gnu.org>2013-03-16 22:34:03 -0400
commit011ce3f3c2d1a534b2671ed6d5204fec9120fff7 (patch)
tree4bc87c54703eb149d1785dc91d46c893c0a495d9 /gcc
parent98e8112376654ff5eae902ecd41a61bf0508ff73 (diff)
downloadgcc-011ce3f3c2d1a534b2671ed6d5204fec9120fff7.zip
gcc-011ce3f3c2d1a534b2671ed6d5204fec9120fff7.tar.gz
gcc-011ce3f3c2d1a534b2671ed6d5204fec9120fff7.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/pt.c5
2 files changed, 6 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 8aa3952..fa17a08 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,9 @@
2013-03-16 Jason Merrill <jason@redhat.com>
+ 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 36175ca..6264add 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;