summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/DriverOptions.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [Driver] Use shared singleton instance of DriverOptTableIlya Biryukov2019-09-041-7/+10
| | | | | | | | | | | | | | | | | | | | | Summary: This significantly reduces the time required to run clangd tests, by ~10%. Should also have an effect on other tests that run command-line parsing multiple times inside a single invocation. Reviewers: gribozavr, sammccall Reviewed By: sammccall Subscribers: kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D67163 llvm-svn: 370908
* [Clang] Migrate llvm::make_unique to std::make_uniqueJonas Devlieghere2019-08-141-1/+1
| | | | | | | | | | Now that we've moved to C++14, we no longer need the llvm::make_unique implementation from STLExtras.h. This patch is a mechanical replacement of (hopefully) all the llvm::make_unique instances across the monorepo. Differential revision: https://reviews.llvm.org/D66259 llvm-svn: 368942
* Update the file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | to reflect the new license. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. llvm-svn: 351636
* Revert "Revert r311552: [Bash-autocompletion] Add support for static ↵Yuka Takahashi2017-08-291-1/+10
| | | | | | | | | | | analyzer flags" This reverts commit 7c46b80c022e18d43c1fdafb117b0c409c5a6d1e. r311552 broke lld buildbot because I've changed OptionInfos type from ArrayRef to vector. However the bug is fixed, so I'll commit this again. llvm-svn: 311958
* Revert r311552: [Bash-autocompletion] Add support for static analyzer flagsRui Ueyama2017-08-231-10/+1
| | | | | | This reverts commit r311552 because it broke ubsan and asan bots. llvm-svn: 311557
* [Bash-autocompletion] Add support for static analyzer flagsYuka Takahashi2017-08-231-1/+10
| | | | | | | | | | | | | | | | | | | | | | Summary: This is a patch for clang autocomplete feature. It will collect values which -analyzer-checker takes, which is defined in clang/StaticAnalyzer/Checkers/Checkers.inc, dynamically. First, from ValuesCode class in Options.td, TableGen will generate C++ code in Options.inc. Options.inc will be included in DriverOptions.cpp, and calls OptTable's addValues function. addValues function will add second argument to Option's Values class. Values contains string like "foo,bar,.." which is handed to Values class in OptTable. Reviewers: v.g.vassilev, teemperor, ruiu Subscribers: hiraditya, cfe-commits Differential Revision: https://reviews.llvm.org/D36782 llvm-svn: 311552
* [GSoC] Flag value completion for clangYuka Takahashi2017-06-201-4/+4
| | | | | | | | | | | | This is patch for GSoC project, bash-completion for clang. To use this on bash, please run `source clang/utils/bash-autocomplete.sh`. bash-autocomplete.sh is code for bash-completion. In this patch, Options.td was mainly changed in order to add value class in Options.inc. llvm-svn: 305805
* unique_ptrify createDriverOptTableDavid Blaikie2017-01-131-2/+2
| | | | llvm-svn: 291919
* Update clang to match llvm r250901. OptTable constructor now takes an ↵Craig Topper2015-10-211-1/+1
| | | | | | ArrayRef. NFC llvm-svn: 250903
* Remove the SUPPORT_ALIASARGS defineHans Wennborg2013-08-011-2/+0
| | | | | | It is not needed after LLVM r187546. llvm-svn: 187550
* Option parsing tables: pick up AliasArgs from the OPTION macro.Hans Wennborg2013-07-311-2/+4
| | | | | | | | | This depends on LLVM r187537. The SUPPORT_ALIASARGS macro will be removed once all option parsing clients have been updated. llvm-svn: 187538
* Option parsing tables: remove some unnecessary #definesHans Wennborg2013-07-171-5/+2
| | | | | | Also make some strings static and add missing #undef's llvm-svn: 186518
* Use llvm::array_lengthof to replace sizeof(array)/sizeof(array[0]).Craig Topper2013-07-151-1/+2
| | | | llvm-svn: 186300
* [Driver] Refactor clang driver to use LLVM's Option libraryReid Kleckner2013-06-141-2/+3
| | | | | | | | | | | | | | | | | | The big changes are: - Deleting Driver/(Arg|Opt)* - Rewriting includes to llvm/Option/ and re-sorting - 'using namespace llvm::opt' in clang::driver - Fixing the autoconf build by adding option everywhere As discussed in the review, this change includes using directives in header files. I'll make follow up changes to remove those in favor of name specifiers. Reviewers: espindola Differential Revision: http://llvm-reviews.chandlerc.com/D975 llvm-svn: 183989
* [Options] Add prefixes to options.Michael J. Spencer2012-10-221-3/+11
| | | | | | | | | | | | | | Each option has a set of prefixes. When matching an argument such as -funroll-loops. First the leading - is removed as it is a prefix. Then a lower_bound search for "funroll-loops" is done against the option table by option name. From there each option prefix + option name combination is tested against the argument. This allows us to support Microsoft style options where both / and - are valid prefixes. It also simplifies the cases we already have where options come in both - and -- forms. Almost every option for gnu-ld happens to have this form. llvm-svn: 166444
* [Options] Store the option ID in OptTable::Info.Michael J. Spencer2012-09-251-1/+1
| | | | llvm-svn: 164644
* Pack struct better.Benjamin Kramer2011-10-221-1/+1
| | | | llvm-svn: 142725
* Remove stray emacs mode markers in all these files that was causing emacs toNick Lewycky2010-12-311-1/+1
| | | | | | | open them in fundamental-mode instead of c++-mode. Also twiddle whitespace for consistency in ToolChains.cpp. llvm-svn: 122646
* spread 'const' love to some variables. this considerably reduces the amount ↵Nuno Lopes2009-12-101-1/+1
| | | | | | of dirty data around. llvm-svn: 91002
* Driver: Move INPUT and UNKNOWN sentinel options into the OptParser.td file.Daniel Dunbar2009-11-191-5/+0
| | | | llvm-svn: 89371
* Driver: Switch to using TableGen'erated Options.inc instead of Options.def file.Daniel Dunbar2009-11-191-1/+1
| | | | llvm-svn: 89288
* Driver: Split OptTable out into OptTable.{h,cpp}Daniel Dunbar2009-11-191-0/+42
llvm-svn: 89283
OpenPOWER on IntegriCloud