[all-commits] [llvm/llvm-project] 4fad11: [HLSL][RootSignature] Implement initial parsing of...
Finn Plummer via All-commits
all-commits at lists.llvm.org
Tue Apr 22 11:46:30 PDT 2025
Branch: refs/heads/users/inbelic/pr-136740
Home: https://github.com/llvm/llvm-project
Commit: 4fad116f1dbc94d7c14acbbde3885bc126e22981
https://github.com/llvm/llvm-project/commit/4fad116f1dbc94d7c14acbbde3885bc126e22981
Author: Finn Plummer <canadienfinn at gmail.com>
Date: 2025-04-22 (Tue, 22 Apr 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
[HLSL][RootSignature] Implement initial parsing of the descriptor table clause params (#133800)
- Defines `ParseDescriptorTableClauseParams` to establish the pattern of
how we will parse parameters in root signatures. Namely, to use
recursive descent parsing in a way that follows closely to the EBNF
notation definition in the root signature spec.
- Implements parsing of two param types: `UInt32` and `Register` to
demonstrate the parsing implementation and allow for unit testing
- Changes the calling convention to use `std::optional` return values
instead of boolean error returns and parameters by reference
Part two of implementing:
https://github.com/llvm/llvm-project/issues/126569
---------
Co-authored-by: Finn Plummer <finnplummer at microsoft.com>
Commit: 41d861ca293e978ebbf1b67e722a89d92ef6d710
https://github.com/llvm/llvm-project/commit/41d861ca293e978ebbf1b67e722a89d92ef6d710
Author: Finn Plummer <finnplummer at microsoft.com>
Date: 2025-04-22 (Tue, 22 Apr 2025)
Changed paths:
M clang/include/clang/Parse/ParseHLSLRootSignature.h
M clang/lib/Parse/ParseHLSLRootSignature.cpp
M clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
Log Message:
-----------
reland-fix: Remove name shadowing of `Register`
We have that for the following program:
```
struct Foo {
int X = 0;
};
struct Bar {
struct Foo Foo;
}
```
will generate the following when compiled with gcc/g++:
`error: declaration of ‘Foo Bar::Foo’ changes meaning of ‘Foo’ [-fpermissive]`
but no error is generated when compiling with clang/clang++.
This commit removes the name shadowing of Register to prevent compilation
errors when building llvm with gcc/g++.
Compare: https://github.com/llvm/llvm-project/compare/4fad116f1dbc%5E...41d861ca293e
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list