[C++ PATCH] Implement P0028R4, C++17 using attribute namespaces without repetition

Jason Merrill jason@redhat.com
Tue Sep 13 15:43:00 GMT 2016


On Tue, Sep 13, 2016 at 4:03 AM, Jakub Jelinek <jakub@redhat.com> wrote:
> This patch implements the P0028R4 C++17 enhancement.
> First I found a bug in the C++11 std attribute handling, where
> [[bitand, bitand::foo]] has been allowed, but not [[foo::bitand]]
> (i.e. the identifier after :: accepted only non-keyword and keyword identifiers
> but not alternative tokens, while the first identifier accepted both).
>
> As mentioned privately, I think there is an inconsistency in the current
> C++17 draft, where keywords/alternative tokens are allowed only in
> attribute-token, but not in in attribute-using-prefix's attribute-namespace.
> The second testcaser in the last function includes a testcase of this and
> cp_parser_std_attribute_spec has such addition commented out, so it is easy
> to change afterwards.

Let's go ahead and support it now, this is just a wording oversight.
I've emailed the committee about it.  OK with that change.

Jason



More information about the Gcc-patches mailing list