diff options
author | Jason Merrill <jason@redhat.com> | 2009-09-10 01:16:17 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2009-09-10 01:16:17 -0400 |
commit | 7cb4dfec24da6c3a44ca7d20237f2e08cb92d495 (patch) | |
tree | 27ee83a86f7029e72f894d9a7aa9f3230e9bb212 | |
parent | e00ded686326b80f872debf8f5c6ca247cc4b34d (diff) | |
download | gcc-7cb4dfec24da6c3a44ca7d20237f2e08cb92d495.zip gcc-7cb4dfec24da6c3a44ca7d20237f2e08cb92d495.tar.gz gcc-7cb4dfec24da6c3a44ca7d20237f2e08cb92d495.tar.bz2 |
* error.c (find_typenames_r): Also add decltypes.
From-SVN: r151586
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/error.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index d005077..db2a892 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2009-09-09 Jason Merrill <jason@redhat.com> + + * error.c (find_typenames_r): Also add decltypes. + 2009-09-09 Paolo Carlini <paolo.carlini@oracle.com> PR c++/28293 diff --git a/gcc/cp/error.c b/gcc/cp/error.c index 19649292..5d38e02 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -1159,7 +1159,8 @@ dump_template_decl (tree t, int flags) } /* find_typenames looks through the type of the function template T - and returns a VEC containing any typedefs or TYPENAME_TYPEs it finds. */ + and returns a VEC containing any typedefs, decltypes or TYPENAME_TYPEs + it finds. */ struct find_typenames_t { @@ -1176,7 +1177,8 @@ find_typenames_r (tree *tp, int *walk_subtrees ATTRIBUTE_UNUSED, void *data) if (TYPE_P (*tp) && is_typedef_decl (TYPE_NAME (*tp))) /* Add the type of the typedef without any additional cv-quals. */ mv = TREE_TYPE (TYPE_NAME (*tp)); - else if (TREE_CODE (*tp) == TYPENAME_TYPE) + else if (TREE_CODE (*tp) == TYPENAME_TYPE + || TREE_CODE (*tp) == DECLTYPE_TYPE) /* Add the typename without any cv-qualifiers. */ mv = TYPE_MAIN_VARIANT (*tp); |