diff options
Diffstat (limited to 'gcc/cp/tree.c')
-rw-r--r-- | gcc/cp/tree.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c index 5f1735a942f..4a7008b5a23 100644 --- a/gcc/cp/tree.c +++ b/gcc/cp/tree.c @@ -1368,9 +1368,12 @@ strip_typedefs (tree t) if (!result) { if (typedef_variant_p (t)) - /* Explicitly get the underlying type, as TYPE_MAIN_VARIANT doesn't - strip typedefs with attributes. */ - result = TYPE_MAIN_VARIANT (DECL_ORIGINAL_TYPE (TYPE_NAME (t))); + { + /* Explicitly get the underlying type, as TYPE_MAIN_VARIANT doesn't + strip typedefs with attributes. */ + result = TYPE_MAIN_VARIANT (DECL_ORIGINAL_TYPE (TYPE_NAME (t))); + result = strip_typedefs (result); + } else result = TYPE_MAIN_VARIANT (t); } |