================
@@ -3588,8 +3588,13 @@ static void RenderSSPOptions(const Driver &D, const 
ToolChain &TC,
           << A->getOption().getName() << Value << "fs gs";
       return;
     }
-    if (EffectiveTriple.isAArch64() && Value != "sp_el0") {
-      D.Diag(diag::err_drv_invalid_value) << A->getOption().getName() << Value;
+    if (EffectiveTriple.isAArch64() &&
+        (Value != "sp_el0" && Value != "tpidrro_el0" && Value != "tpidr_el0" &&
+         Value != "tpidr_el1" && Value != "tpidr_el2" && Value != "far_el1" &&
+         Value != "far_el2")) {
----------------
nickdesaulniers wrote:

Consider whether `llvm::StringSwitch` would make this more concise.
https://llvm.org/doxygen/classllvm_1_1StringSwitch.html

https://github.com/llvm/llvm-project/pull/188054
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to