================
@@ -226,6 +226,47 @@ HLSLToolChain::TranslateArgs(const DerivedArgList &Args, 
StringRef BoundArch,
       A->claim();
       continue;
     }
+    if (A->getOption().getID() == options::OPT_dxc_hlsl_version) {
+      // Translate -HV into -std for llvm
+      // depending on the value given
+      llvm::StringRef value(A->getValue());
+      llvm::StringRef acceptedValues(
+          Opts.getOptionValues(options::OPT_dxc_hlsl_version));
+      llvm::SmallVector<StringRef, 8> validValues;
+      acceptedValues.split(validValues, ", ");
+      if (value == validValues[0]) {
----------------
bob80905 wrote:

The idea to use getOptionValues was an idea inspired by @llvm-beanz 's 
feedback, to prevent littering direct string comparisons into the code and 
unify string handling. Originally, I did have the direct "2016" comparison. I'm 
not sure if the LLVM community would want access to these option values, but it 
seems like the most convenient way to get around direct string comparisons. I 
do remember string comparisons were a pain point in the DXC codebase and want 
to try and avoid that.

https://github.com/llvm/llvm-project/pull/83938
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to