diff options
author | Jason Merrill <jason@redhat.com> | 2014-08-15 18:27:06 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2014-08-15 18:27:06 -0400 |
commit | 2b14490e737ecc16e2411d466afd21ac95b3bc05 (patch) | |
tree | f31e54d6c315542e335bbd156ac2f964f5fc4549 /gcc | |
parent | ab36d98dd2803009eb49393d72f19041d53adffd (diff) | |
download | gcc-2b14490e737ecc16e2411d466afd21ac95b3bc05.zip gcc-2b14490e737ecc16e2411d466afd21ac95b3bc05.tar.gz gcc-2b14490e737ecc16e2411d466afd21ac95b3bc05.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/mangle.c | 1 | ||||
-rw-r--r-- | gcc/cp/pt.c | 2 |
3 files changed, 4 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c926978..059ae60 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,6 +1,10 @@ 2014-08-15 Jason Merrill <jason@redhat.com> 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. (push_template_decl_real): A lambda is not primary. diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index ac165e0..40508ab 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 611bfd6..41fd424 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; |