Skip to content

Commit bde15d0

Browse files
committed
rebase onto parser review changes
1 parent c0e5fe1 commit bde15d0

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

clang/lib/Sema/SemaHLSL.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -659,13 +659,9 @@ void SemaHLSL::handleRootSignatureAttr(Decl *D, const ParsedAttr &AL) {
659659
SourceLocation Loc = AL.getArgAsExpr(0)->getExprLoc();
660660
// FIXME: pass down below to lexer when fp is supported
661661
// llvm::RoundingMode RM = SemaRef.CurFPFeatures.getRoundingMode();
662-
SmallVector<hlsl::RootSignatureToken> Tokens;
663662
hlsl::RootSignatureLexer Lexer(Signature, Loc, SemaRef.getPreprocessor());
664-
if (Lexer.Lex(Tokens))
665-
return;
666-
667663
SmallVector<llvm::hlsl::rootsig::RootElement> Elements;
668-
hlsl::RootSignatureParser Parser(Elements, Tokens,
664+
hlsl::RootSignatureParser Parser(Elements, Lexer,
669665
SemaRef.getPreprocessor().getDiagnostics());
670666
if (Parser.Parse())
671667
return;

clang/test/SemaHLSL/RootSignature-err.hlsl

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,39 +10,42 @@
1010
" invalid " \
1111
")"
1212

13-
[RootSignature(InvalidToken)] // expected-error {{unable to lex a valid Root Signature token}}
13+
[RootSignature(InvalidToken)] // expected-error {{expected one of the following token kinds: CBV, SRV, UAV, Sampler}}
1414
void bad_root_signature_1() {}
1515

1616
#define InvalidEmptyNumber \
1717
"DescriptorTable( " \
1818
" CBV(t32, space = +) " \
1919
")"
2020

21-
[RootSignature(InvalidEmptyNumber)] // expected-error {{expected number literal is not a supported number literal of unsigned integer or integer}}
21+
// expected-error@+1 {{expected the following token kind: integer literal}}
22+
[RootSignature(InvalidEmptyNumber)]
2223
void bad_root_signature_2() {}
2324

2425
#define InvalidOverflowNumber \
2526
"DescriptorTable( " \
2627
" CBV(t32, space = 98273498327498273487) " \
2728
")"
2829

29-
[RootSignature(InvalidOverflowNumber)] // expected-error {{provided unsigned integer literal '98273498327498273487' that overflows the maximum of 32 bits}}
30+
// expected-error@+1 {{integer literal '98273498327498273487' is too large to be represented in a 32-bit integer type}}
31+
[RootSignature(InvalidOverflowNumber)]
3032
void bad_root_signature_3() {}
3133

32-
#define InvalidEOS \
33-
"DescriptorTable( "
34-
3534
// Parser related tests
3635

37-
[RootSignature(InvalidEOS)] // expected-error {{unexpected end to token stream}}
36+
#define InvalidEOS \
37+
"DescriptorTable( " \
38+
" CBV("
39+
40+
[RootSignature(InvalidEOS)] // expected-error {{expected one of the following token kinds: b register, t register, u register, s register}}
3841
void bad_root_signature_4() {}
3942

4043
#define InvalidTokenKind \
4144
"DescriptorTable( " \
42-
" DescriptorTable()" \
45+
" SRV(s0, CBV())" \
4346
")"
4447

45-
[RootSignature(InvalidTokenKind)] // expected-error {{expected the one of the following token kinds 'CBV, SRV, UAV, Sampler'}}
48+
[RootSignature(InvalidTokenKind)] // expected-error {{expected one of the following token kinds: offset, numDescriptors, space, flags}}
4649
void bad_root_signature_5() {}
4750

4851
#define InvalidRepeat \

0 commit comments

Comments
 (0)