================
@@ -4504,6 +4504,11 @@ void Parser::ParseDeclarationSpecifiers(
isInvalid = DS.setFunctionSpecNoreturn(Loc, PrevSpec, DiagID);
break;
+ case tok::kw__Export:
+ // We're done with the declaration-specifiers.
+ goto DoneWithDeclSpec;
----------------
hubert-reinterpretcast wrote:
`_Export` is not really a declaration specifier (at least in the traditional
implementation).
It is more like a C++11 attribute except that it lives on the left of a
_declarator-id_ instead of on the right.
In some realizations, the (less clean) conceptual model is that it is a
declarator like `*` is, except it binds more strongly than `(<function
parameters>)` or `[<array bound>]`.
@perry-ca, I don't see any test in this PR for `_Export` in positions like:
```cpp
int (*_Export x)(void) = 0;
```
Is the above accepted with this PR? Which conceptual model is being implemented
here?
https://github.com/llvm/llvm-project/pull/111035
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits