================
@@ -3644,13 +3645,28 @@ static void RenderSSPOptions(const Driver &D, const 
ToolChain &TC,
           << A->getOption().getName() << Value << "sysreg global";
       return;
     }
+    if (EffectiveTriple.isRISCV()) {
+      if (Value != "tls" && Value != "global") {
----------------
arichardson wrote:

Some of these could probably be simplified if we did something like

```
SmallVector<StringRef, 4> SupportedModes;
if (EffectiveTriple.isX86() || EffectiveTriple.isARM() ||         
EffectiveTriple.isThumb() || EffectiveTriple.isRISCV()) {
    SupportedModes = {"global", "tls"};
} else if (EffectiveTriple.isAArch64()) {
    SupportedModes = {"global", "sysreg"};
}
if (!llvm::contains(SupportedModes, Value)) {
      D.Diag(diag::err_drv_invalid_value_with_suggestion)
          << A->getOption().getName() << Value << "sysreg global";
      return;
}
```

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

Reply via email to