From: Jason Merrill Date: Fri, 15 Aug 2014 22:27:06 +0000 (-0400) Subject: re PR c++/61566 (ICE in write_unscoped_name) X-Git-Tag: releases/gcc-5.1.0~5445 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2b14490e737ecc16e2411d466afd21ac95b3bc05;p=thirdparty%2Fgcc.git re PR c++/61566 (ICE in write_unscoped_name) PR c++/61566 * pt.c (lookup_template_class_1): Revert recent change. * mangle.c (CLASSTYPE_TEMPLATE_ID_P): Revert recent change. From-SVN: r214049 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c926978bdcd3..059ae602b2d5 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,9 @@ 2014-08-15 Jason Merrill + PR c++/61566 + * pt.c (lookup_template_class_1): Revert recent change. + * mangle.c (CLASSTYPE_TEMPLATE_ID_P): Revert recent change. + PR c++/61566 * pt.c (instantiate_class_template_1): Ignore lambda on CLASSTYPE_DECL_LIST. diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index ac165e021d99..40508ab0cc34 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -87,7 +87,6 @@ along with GCC; see the file COPYING3. If not see (TYPE_LANG_SPECIFIC (NODE) != NULL \ && (TREE_CODE (NODE) == BOUND_TEMPLATE_TEMPLATE_PARM \ || (CLASSTYPE_TEMPLATE_INFO (NODE) != NULL \ - && !LAMBDA_TYPE_P (NODE) \ && (PRIMARY_TEMPLATE_P (CLASSTYPE_TI_TEMPLATE (NODE)))))) /* Things we only need one of. This module is not reentrant. */ diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c index 611bfd6b7a1f..41fd424da8f5 100644 --- a/gcc/cp/pt.c +++ b/gcc/cp/pt.c @@ -7878,8 +7878,6 @@ lookup_template_class_1 (tree d1, tree arglist, tree in_decl, tree context, && TMPL_ARGS_HAVE_MULTIPLE_LEVELS (arglist) /* the enclosing class must be an instantiation... */ && CLASS_TYPE_P (context) - /* We don't do partial instantiation of closures. */ - && !LAMBDA_TYPE_P (TREE_TYPE (gen_tmpl)) && !same_type_p (context, DECL_CONTEXT (gen_tmpl))) { tree partial_inst_args;