From: Nathan Sidwell Date: Wed, 14 Dec 2016 16:43:07 +0000 (+0000) Subject: re PR c++/69481 (ICE with C++11 alias using with templates) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fa0c02c38c52a425c39084f364bb645becb8b7bb;p=gcc.git re PR c++/69481 (ICE with C++11 alias using with templates) PR c++/69481 * cp-tree.h (TYPE_TEMPLATE_INFO_MAYBE_ALIAS): Always use TYPE_ALIAS_TEMPLATE_INFO for aliases. From-SVN: r243656 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 24ceb04ce57..3404e88ed61 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2016-12-14 Nathan Sidwell + + PR c++/69481 + * cp-tree.h (TYPE_TEMPLATE_INFO_MAYBE_ALIAS): Always use + TYPE_ALIAS_TEMPLATE_INFO for aliases. + 2016-12-13 Nathan Sidwell PR c++/69481 diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index cc7ca87376f..89bb9b28f01 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -3049,18 +3049,18 @@ extern void decl_shadowed_for_var_insert (tree, tree); ? CLASSTYPE_TEMPLATE_INFO (NODE) \ : NULL_TREE))) -/* Template information for an alias template type. */ +/* Template information (if any) for an alias type. */ #define TYPE_ALIAS_TEMPLATE_INFO(NODE) \ (DECL_LANG_SPECIFIC (TYPE_NAME (NODE)) \ ? DECL_TEMPLATE_INFO (TYPE_NAME (NODE)) \ : NULL_TREE) -/* If NODE is a specialization of an alias template, this accessor - returns the template info for the alias template. Otherwise behave - as TYPE_TEMPLATE_INFO. */ +/* If NODE is a type alias, this accessor returns the template info + for the alias template (if any). Otherwise behave as + TYPE_TEMPLATE_INFO. */ #define TYPE_TEMPLATE_INFO_MAYBE_ALIAS(NODE) \ - (TYPE_ALIAS_P (NODE) && DECL_LANG_SPECIFIC (TYPE_NAME (NODE)) \ - ? DECL_TEMPLATE_INFO (TYPE_NAME (NODE)) \ + (TYPE_ALIAS_P (NODE) \ + ? TYPE_ALIAS_TEMPLATE_INFO (NODE) \ : TYPE_TEMPLATE_INFO (NODE)) /* Set the template information for an ENUMERAL_, RECORD_, or