Skip to content

Commit de2f62e

Browse files
committed
review: update diagnostics message
1 parent d648f4c commit de2f62e

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

clang/include/clang/Basic/DiagnosticLexKinds.td

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,10 +1020,9 @@ Error<"expected 'begin' or 'end'">;
10201020

10211021
// HLSL Root Signature Lexing Errors
10221022
let CategoryName = "Root Signature Lexical Issue" in {
1023-
def err_hlsl_invalid_number_literal:
1024-
Error<"expected number literal is not a supported number literal of unsigned integer or integer">;
1023+
def err_hlsl_expected_number_literal: Error<"expected numberic literal">;
10251024
def err_hlsl_number_literal_overflow :
1026-
Error<"provided %select{unsigned integer|signed integer}0 literal '%1' that overflows the maximum of 32 bits">;
1025+
Error<"integer literal is too large to be represented in any %select{signed |}0 integer type">;
10271026
def err_hlsl_invalid_token: Error<"unable to lex a valid Root Signature token">;
10281027
def err_hlsl_invalid_register_literal: Error<"expected unsigned integer literal as part of register">;
10291028
}

clang/lib/Parse/ParseHLSLRootSignature.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ bool RootSignatureLexer::LexNumber(RootSignatureToken &Result) {
2020
// Retrieve the possible number
2121
StringRef NumSpelling = Buffer.take_while(IsNumberChar);
2222

23-
// Catch this now as the Literal Parser will accept it as valid
23+
// Catch when there is a '+' or '-' specified but no literal value after.
24+
// This is invalid but the NumericLiteralParser will accept this as valid.
2425
if (NumSpelling.empty()) {
2526
PP.getDiagnostics().Report(Result.TokLoc,
26-
diag::err_hlsl_invalid_number_literal);
27+
diag::err_hlsl_expected_number_literal);
2728
return true;
2829
}
2930

@@ -48,7 +49,7 @@ bool RootSignatureLexer::LexNumber(RootSignatureToken &Result) {
4849
// Report that the value has overflowed
4950
PP.getDiagnostics().Report(Result.TokLoc,
5051
diag::err_hlsl_number_literal_overflow)
51-
<< (unsigned)Signed << NumSpelling;
52+
<< (unsigned)!Signed << NumSpelling;
5253
return true;
5354
}
5455

clang/unittests/Parse/ParseHLSLRootSignatureTest.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,7 @@ TEST_F(ParseHLSLRootSignatureTest, InvalidLexEmptyNumberTest) {
252252
auto TokLoc = SourceLocation();
253253

254254
// Test correct diagnostic produced
255-
Consumer->SetExpected(diag::err_hlsl_invalid_number_literal);
255+
Consumer->SetExpected(diag::err_hlsl_expected_number_literal);
256256

257257
hlsl::RootSignatureLexer Lexer(Source, TokLoc, *PP);
258258

0 commit comments

Comments
 (0)