Message ID | 54DBA923.6060602@oracle.com |
---|---|
State | New |
Headers | show |
On 02/11/2015 02:10 PM, Paolo Carlini wrote: > Today I was having a look to this pending issue and went astray due to > the broken thread: I wondered if, basing on Fabien' first try and the > comments accompanying tag_scope, it would make sense to use > strip_using_decl only when the scope is ts_global (or maybe != > ts_current)?!? Good thought, that makes sense and is a lot simpler. But I think since we have a ts_global block earlier in the function, let's do the stripping there, right after the call to lookup_name_prefer_type. OK with that change. Jason
Index: decl.c =================================================================== --- decl.c (revision 220611) +++ decl.c (working copy) @@ -12207,6 +12207,9 @@ lookup_and_check_tag (enum tag_types tag_code, tre && DECL_TEMPLATE_TEMPLATE_PARM_P (decl)))) decl = DECL_TEMPLATE_RESULT (decl); + if (scope == ts_global) + decl = strip_using_decl (decl); + if (decl && TREE_CODE (decl) == TYPE_DECL) { /* Look for invalid nested type: