Hi,

On 24/10/18 22:41, Jason Merrill wrote:
On 10/15/18 12:45 PM, Paolo Carlini wrote:
        && ((TREE_CODE (declspecs->type) != TYPENAME_TYPE
+       && TREE_CODE (declspecs->type) != DECLTYPE_TYPE
         && MAYBE_CLASS_TYPE_P (declspecs->type))

I would think that the MAYBE_CLASS_TYPE_P here should be CLASS_TYPE_P, and then we can remove the TYPENAME_TYPE check.  Or do we want to allow template type parameters for some reason?

Indeed, it would be nice to just use OVERLOAD_TYPE_P. However it seems we at least want to let through TEMPLATE_TYPE_PARMs representing 'auto' - otherwise Dodji's check a few lines below which fixed c++/51473 doesn't work anymore - and also BOUND_TEMPLATE_TEMPLATE_PARM, otherwise we regress on template/spec32.C and template/ttp22.C because we don't diagnose the shadowing anymore. Thus, I would say either we keep on using MAYBE_CLASS_TYPE_P or we pick what we need, possibly we add a comment?

Thanks, Paolo.

Reply via email to