[clang] [clang] Enable descriptions for --print-supported-extensions (PR #66715)

Balint Cristian via cfe-commits cfe-commits at lists.llvm.org
Tue Sep 19 03:07:52 PDT 2023


================
@@ -600,11 +601,17 @@ StringRef ARM::getARMCPUForArch(const llvm::Triple &Triple, StringRef MArch) {
   llvm_unreachable("invalid arch name");
 }
 
-void ARM::PrintSupportedExtensions() {
+void ARM::PrintSupportedExtensions(std::map<StringRef, StringRef> llvmDescMap) {
   outs() << "All available -march extensions for ARM\n\n";
   for (const auto &Ext : ARCHExtNames) {
     // Extensions without a feature cannot be used with -march.
-    if (!Ext.Feature.empty())
-      outs() << '\t' << Ext.Name << "\n";
+    if (!Ext.Feature.empty()) {
+      if (llvmDescMap.empty()) {
+        outs() << '\t' << Ext.Name << "\n";
+      } else {
+        outs() << format("\t%-20s", Ext.Name.str().c_str());
+        outs() << "\t\t" << llvmDescMap[Ext.Name] << "\n";
----------------
cbalint13 wrote:

> This can be one call to outs().

The ```if-else``` It is due to separation of "Description" column as optional.
To compress the 2*outs (inside else) format then will be quite long expansion: 
```llvmDescMap["experimental-"+Ext.Name].str().c_str() ```

Will try again, but spent quite some time on this very estetic part.


https://github.com/llvm/llvm-project/pull/66715


More information about the cfe-commits mailing list