Skip to content

Commit 031ef95

Browse files
author
Xiang Li
committed
Code cleanup.
1 parent 2f573e4 commit 031ef95

File tree

4 files changed

+30
-27
lines changed

4 files changed

+30
-27
lines changed

clang/include/clang/Basic/DiagnosticDriverKinds.td

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -657,6 +657,13 @@ def err_drv_target_variant_invalid : Error<
657657
def err_drv_invalid_directx_shader_module : Error<
658658
"invalid profile : %0">;
659659

660-
def err_drv_invalid_dxil_validator_version : Error<
661-
"invalid validator version : %0\n%1">;
660+
def err_drv_invalid_range_dxil_validator_version : Error<
661+
"invalid validator version : %0\n"
662+
"Validator version must be less than or equal to current internal version.">;
663+
def err_drv_invalid_format_dxil_validator_version : Error<
664+
"invalid validator version : %0\n"
665+
"Format of validator version is \"<major>.<minor>\" (ex:\"1.4\").">;
666+
def err_drv_invalid_empty_dxil_validator_version : Error<
667+
"invalid validator version : %0\n"
668+
"If validator major version is 0, minor version must also be 0.">;
662669
}

clang/lib/CodeGen/CGHLSLRuntime.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,6 @@ void addDxilValVersion(StringRef ValVersionStr, llvm::Module &M) {
4444
}
4545
} // namespace
4646

47-
CGHLSLRuntime::CGHLSLRuntime(CodeGenModule &CGM) : CGM(CGM) {}
48-
49-
CGHLSLRuntime::~CGHLSLRuntime() {}
50-
5147
void CGHLSLRuntime::finishCodeGen() {
5248
auto &CGOpts = CGM.getCodeGenOpts();
5349
llvm::Module &M = CGM.getModule();

clang/lib/CodeGen/CGHLSLRuntime.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
//
1313
//===----------------------------------------------------------------------===//
1414

15-
#pragma once
15+
#ifndef LLVM_CLANG_LIB_CODEGEN_CGHLSLRUNTIME_H
16+
#define LLVM_CLANG_LIB_CODEGEN_CGHLSLRUNTIME_H
1617

1718
namespace clang {
1819

@@ -25,11 +26,13 @@ class CGHLSLRuntime {
2526
CodeGenModule &CGM;
2627

2728
public:
28-
CGHLSLRuntime(CodeGenModule &CGM);
29-
virtual ~CGHLSLRuntime();
30-
void finishCodeGen();
29+
CGHLSLRuntime(CodeGenModule &CGM) : CGM(CGM) {}
30+
virtual ~CGHLSLRuntime() {}
3131

32+
void finishCodeGen();
3233
};
3334

34-
}
35-
}
35+
} // namespace CodeGen
36+
} // namespace clang
37+
38+
#endif

clang/lib/Driver/ToolChains/HLSL.cpp

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -126,25 +126,25 @@ std::string tryParseProfile(StringRef Profile) {
126126
return "";
127127
}
128128

129-
bool isLegalValidatorVersion(StringRef ValVersionStr, std::string &ErrorMsg) {
129+
bool isLegalValidatorVersion(StringRef ValVersionStr, const Driver &D) {
130130
auto VerPair = ValVersionStr.split(".");
131131
llvm::APInt APMajor, APMinor;
132-
133-
if (VerPair.first.getAsInteger(0, APMajor) ||
134-
VerPair.second.getAsInteger(0, APMinor)) {
135-
ErrorMsg =
136-
"Format of validator version is \"<major>.<minor>\" (ex:\"1.4\").";
132+
VersionTuple Version;
133+
if (Version.tryParse(ValVersionStr) || Version.getBuild() ||
134+
Version.getSubminor() || !Version.getMinor()) {
135+
D.Diag(diag::err_drv_invalid_format_dxil_validator_version)
136+
<< ValVersionStr;
137137
return false;
138138
}
139-
uint64_t Major = APMajor.getLimitedValue();
140-
uint64_t Minor = APMinor.getLimitedValue();
139+
140+
uint64_t Major = Version.getMajor();
141+
uint64_t Minor = Version.getMinor().getValue();
141142
if (Major > MaxDXILMajor || (Major == MaxDXILMajor && Minor > MaxDXILMinor)) {
142-
ErrorMsg = "Validator version must be less than or equal to current "
143-
"internal version.";
143+
D.Diag(diag::err_drv_invalid_range_dxil_validator_version) << ValVersionStr;
144144
return false;
145145
}
146146
if (Major == 0 && Minor != 0) {
147-
ErrorMsg = "If validator major version is 0, minor version must also be 0.";
147+
D.Diag(diag::err_drv_invalid_empty_dxil_validator_version) << ValVersionStr;
148148
return false;
149149
}
150150
return true;
@@ -185,10 +185,7 @@ HLSLToolChain::TranslateArgs(const DerivedArgList &Args, StringRef BoundArch,
185185
if (A->getOption().getID() == options::OPT_dxil_validator_version) {
186186
StringRef ValVerStr = A->getValue();
187187
std::string ErrorMsg;
188-
if (!isLegalValidatorVersion(ValVerStr, ErrorMsg)) {
189-
getDriver().Diag(diag::err_drv_invalid_dxil_validator_version)
190-
<< ValVerStr << ErrorMsg;
191-
188+
if (!isLegalValidatorVersion(ValVerStr, getDriver())) {
192189
continue;
193190
}
194191
}

0 commit comments

Comments
 (0)