On 08/22/2012 08:43 AM, Paolo Carlini wrote:
yesterday I had a look to this old PR and noticed that we are almost
doing already the right thing for the original testcase: we are for
classes, but we ICE (something recent) for enums. The latter issue seems
easy to fix: handle specially enums at the beginning of
supplement_binding_1 only when the comment says, that is in templates
(otherwise we hit an assert in dependent_type_p).

Which assert? The underlying type ought to be set by the time we see a using, and it shouldn't be a TEMPLATE_TYPE_PARM.

Then, Comment #4 in the audit trail added a case of duplicate using
declaration which we should also reject, involving VAR_DECLs at function
scope (C++11 7.3.3/10). Seems also easy to fix, by checking the return
value of validate_nonmember_using_decl at the beginning of
do_local_using_decl and erroring out if it's null.

Let's put the error in validate_nonmember_using_decl with the other errors.

Jason


Reply via email to