https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109877

            Bug ID: 109877
           Summary: Support for clang-style attributes is needed to parse
                    Darwin SDK headers properly
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: iains at gcc dot gnu.org
  Target Milestone: ---

clang has GNU-style attribute support, but with essentially per-attribute
parsing of the attribute argument list.

This extends to, for example:

__attribute__((availability(macOS, introduced=12.3.4)))

and:

__attribute__((availability(macOS, message="partial string" "more string")))

These are examples that GCC rejects;

The issue actually need addressing during lexing since the first is an invalid
token for a number (it's intended to represent a version) and we reject it
before the parser has a chance to treat it specially.

Ergo, we need a way to escape clang-specific attributes so that we can parse
them.

Reply via email to