[clang] [SystemZ][z/OS] Add visibility features for z/OS (eg. _Export, pragma export) (PR #111035)
Sean Perry via cfe-commits
cfe-commits at lists.llvm.org
Tue May 20 19:25:51 PDT 2025
================
@@ -1400,6 +1416,171 @@ bool Parser::HandlePragmaMSAllocText(StringRef PragmaName,
return true;
}
+NestedNameSpecifier *
+Parser::zOSParseIdentifier(StringRef PragmaName,
+ const IdentifierInfo *IdentName) {
+ NestedNameSpecifier *NestedId = nullptr;
----------------
perry-ca wrote:
The grammar for the pragma is:
```
'#pragma' 'map' '(' name ',' string-literal ')'
```
or
```
'#pragma' 'map' '(' qualified-name '(' argument-list ')' cv-qualifiers ',' string-literal ')'
```
The first syntax is straight forward. The name matches functions declared as extern "C" in C++. The second syntax provides matching for functions with C++ linkage. The qualified name here isn't an expression. It is like the declarator-id and will match a future declaration. I haven't seen anything that does what this code does.
https://github.com/llvm/llvm-project/pull/111035
More information about the cfe-commits
mailing list