================
@@ -3382,10 +3382,18 @@ def fopenmp : Flag<["-"], "fopenmp">, Group<f_Group>,
   HelpText<"Parse OpenMP pragmas and generate parallel code.">;
 def fno_openmp : Flag<["-"], "fno-openmp">, Group<f_Group>,
   Flags<[NoArgumentUnused]>;
+class OpenMPVersionHelp<string program, string default> {
+  string str = !strconcat(
+    "Set OpenMP version (e.g. 45 for OpenMP 4.5, 51 for OpenMP 5.1). Default 
value is ",
+    default, " for ", program);
+}
 def fopenmp_version_EQ : Joined<["-"], "fopenmp-version=">, Group<f_Group>,
   Flags<[NoArgumentUnused]>,
   Visibility<[ClangOption, CC1Option, FlangOption, FC1Option]>,
-  HelpText<"Set OpenMP version (e.g. 45 for OpenMP 4.5, 51 for OpenMP 5.1). 
Default value is 51 for Clang">;
+  HelpText<OpenMPVersionHelp<"Clang", "51">.str>,
+  HelpTextsForVariants<[
+    HelpTextVariant<[FlangOption, FC1Option], OpenMPVersionHelp<"Flang", 
"11">.str>
+  ]>;
----------------
luporl wrote:

This looks good and allows alternative texts for as many variants as needed.

But for the simple case of having only one alternative text, do you think it 
would be too confusing to add `HelpTextForVariants`?

Then this part would become:
`HelpTextForVariants<[FlangOption, FC1Option], OpenMPVersionHelp<"Flang", 
"11">.str>;`

The implementation in llvm/include/llvm/Option/OptParser.td could be:
```
class HelpTextForVariants<list<OptionVisibility> visibilities, string text>
  : HelpTextsForVariants<[HelpTextVariant<visibilities, text>]>;
```

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

Reply via email to