[PATCH] D36820: [Bash-autocompletion] Add support for -std=

Yuka Takahashi via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 28 19:03:10 PDT 2017


This revision was automatically updated to reflect the committed changes.
Closed by commit rL311971: [Bash-autocompletion] Add support for -std= (authored by yamaguchi).

Changed prior to commit:
  https://reviews.llvm.org/D36820?vs=111804&id=113009#toc

Repository:
  rL LLVM

https://reviews.llvm.org/D36820

Files:
  cfe/trunk/include/clang/Driver/Options.td
  cfe/trunk/test/Driver/autocomplete.c
  llvm/trunk/utils/TableGen/OptParserEmitter.cpp


Index: llvm/trunk/utils/TableGen/OptParserEmitter.cpp
===================================================================
--- llvm/trunk/utils/TableGen/OptParserEmitter.cpp
+++ llvm/trunk/utils/TableGen/OptParserEmitter.cpp
@@ -308,11 +308,11 @@
     if (isa<UnsetInit>(R.getValueInit("ValuesCode")))
       continue;
     OS << "{\n";
+    OS << "bool ValuesWereAdded;\n";
     OS << R.getValueAsString("ValuesCode");
     OS << "\n";
     for (const std::string &Pref : R.getValueAsListOfStrings("Prefixes")) {
-      OS << "bool ValuesWereAdded = ";
-      OS << "Opt.addValues(";
+      OS << "ValuesWereAdded = Opt.addValues(";
       std::string S = (Pref + R.getValueAsString("Name")).str();
       write_cstring(OS, S);
       OS << ", Values);\n";
Index: cfe/trunk/include/clang/Driver/Options.td
===================================================================
--- cfe/trunk/include/clang/Driver/Options.td
+++ cfe/trunk/include/clang/Driver/Options.td
@@ -2270,7 +2270,14 @@
 def static : Flag<["-", "--"], "static">, Flags<[NoArgumentUnused]>;
 def std_default_EQ : Joined<["-"], "std-default=">;
 def std_EQ : Joined<["-", "--"], "std=">, Flags<[CC1Option]>,
-  Group<CompileOnly_Group>, HelpText<"Language standard to compile for">;
+  Group<CompileOnly_Group>, HelpText<"Language standard to compile for">,
+  ValuesCode<[{
+    const char *Values =
+    #define LANGSTANDARD(id, name, lang, desc, features) name ","
+    #define LANGSTANDARD_ALIAS(id, alias) alias ","
+    #include "clang/Frontend/LangStandards.def"
+    ;
+  }]>;
 def stdlib_EQ : Joined<["-", "--"], "stdlib=">, Flags<[CC1Option]>,
   HelpText<"C++ standard library to use">, Values<"libc++,libstdc++,platform">;
 def sub__library : JoinedOrSeparate<["-"], "sub_library">;
Index: cfe/trunk/test/Driver/autocomplete.c
===================================================================
--- cfe/trunk/test/Driver/autocomplete.c
+++ cfe/trunk/test/Driver/autocomplete.c
@@ -95,3 +95,5 @@
 // NOWARNING: -Wno-invalid-pp-token
 // RUN: %clang --autocomplete=-analyzer-checker, | FileCheck %s -check-prefix=ANALYZER
 // ANALYZER: unix.Malloc
+// RUN: %clang --autocomplete=-std=, | FileCheck %s -check-prefix=STDVAL
+// STDVAL: c99


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D36820.113009.patch
Type: text/x-patch
Size: 2215 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170829/4c7bd82b/attachment.bin>


More information about the cfe-commits mailing list