File tree Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Expand file tree Collapse file tree 2 files changed +10
-3
lines changed Original file line number Diff line number Diff line change @@ -182,13 +182,15 @@ std::string getSpirvExtArg(ArrayRef<std::string> SpvExtensionArgs) {
182
182
(Twine (" -spirv-ext=+" ) + SpvExtensionArgs.front ()).str ();
183
183
SpvExtensionArgs = SpvExtensionArgs.slice (1 );
184
184
for (auto Extension : SpvExtensionArgs) {
185
- LlvmOption = (Twine (LlvmOption) + " ,+" + Extension).str ();
185
+ if (Extension != " KHR" )
186
+ Extension = (Twine (" +" ) + Extension).str ();
187
+ LlvmOption = (Twine (LlvmOption) + " ," + Extension).str ();
186
188
}
187
189
return LlvmOption;
188
190
}
189
191
190
192
bool isValidSPIRVExtensionName (const std::string &str) {
191
- std::regex pattern (" SPV_[a-zA-Z0-9_]+" );
193
+ std::regex pattern (" KHR| SPV_[a-zA-Z0-9_]+" );
192
194
return std::regex_match (str, pattern);
193
195
}
194
196
Original file line number Diff line number Diff line change 10
10
// RUN: %clang_dxc -spirv -Tlib_6_7 -### %s -fspv-extension=SPV_TEST1 -fspv-extension=SPV_TEST2 2>&1 | FileCheck %s -check-prefix=TEST2
11
11
// TEST2: "-spirv-ext=+SPV_TEST1,+SPV_TEST2"
12
12
13
+ // Merge KHR with other extensions.
14
+ // RUN: %clang_dxc -spirv -Tlib_6_7 -### %s -fspv-extension=SPV_TEST1 -fspv-extension=KHR -fspv-extension=SPV_TEST2 2>&1 | FileCheck %s -check-prefix=TEST3
15
+ // TEST3: "-spirv-ext=+SPV_TEST1,KHR,+SPV_TEST2"
16
+
13
17
// Check for the error message if the extension name is not properly formed.
14
- // RUN: not %clang_dxc -spirv -Tlib_6_7 -### %s -fspv-extension=TEST1 -fspv-extension=SPV_GOOD -fspv-extension=TEST2 2>&1 | FileCheck %s -check-prefix=FAIL
18
+ // RUN: not %clang_dxc -spirv -Tlib_6_7 -### %s -fspv-extension=KHR_BAD -fspv-extension=TEST1 -fspv-extension=SPV_GOOD -fspv-extension=TEST2 2>&1 | FileCheck %s -check-prefix=FAIL
19
+ // FAIL: invalid value 'KHR_BAD' in '-fspv-extension'
15
20
// FAIL: invalid value 'TEST1' in '-fspv-extension'
16
21
// FAIL: invalid value 'TEST2' in '-fspv-extension'
17
22
You can’t perform that action at this time.
0 commit comments