summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Arg.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [Driver] Refactor clang driver to use LLVM's Option libraryReid Kleckner2013-06-141-123/+0
| | | | | | | | | | | | | | | | | | 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
* Remove first argument from Arg::getValue; it's been unused since r105760.Richard Smith2012-11-011-6/+6
| | | | llvm-svn: 167211
* [Options] Add prefixes to options.Michael J. Spencer2012-10-221-9/+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] make Option a value type.Michael J. Spencer2012-10-191-5/+5
| | | | llvm-svn: 166347
* Revert r166223 and the subsequent commits that depend on it, r166230 & r166235.Argyrios Kyrtzidis2012-10-181-5/+5
| | | | | | This seems to have introduced assertion hit when building compiler-rt. llvm-svn: 166245
* [Options] make Option a value type.Michael J. Spencer2012-10-181-5/+5
| | | | llvm-svn: 166223
* Revert "[Options] make Option a value type."Eric Christopher2012-10-101-5/+5
| | | | | | | | | | | | | Author: Michael J. Spencer <bigcheesegs@gmail.com> Date: Wed Oct 10 21:48:26 2012 +0000 [Options] make Option a value type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165663 91177308-0d34-0410-b5e6-96231b3b80d8 This reverts commit 0464fd5e4ce2193e786e5adcab6b828f9366dae3. llvm-svn: 165667
* [Options] make Option a value type.Michael J. Spencer2012-10-101-5/+5
| | | | llvm-svn: 165663
* Basic: import SmallString<> into clang namespaceDylan Noblesmith2012-02-051-2/+2
| | | | | | | (I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) llvm-svn: 149799
* StringRef'ize clang::drive::Option::getName(), from Zach Wheeler!Douglas Gregor2011-07-051-1/+1
| | | | llvm-svn: 134418
* 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
* Driver: Eliminate Arg subclasses, which are now unnecessary.Daniel Dunbar2010-06-091-74/+23
| | | | llvm-svn: 105762
* Driver: Keep the rendering style in the option, instead of as part of the Arg.Daniel Dunbar2010-06-091-43/+37
| | | | llvm-svn: 105761
* Driver: Change Arg to just hold the values directly, instead of implicitlyDaniel Dunbar2010-06-091-51/+37
| | | | | | deriving them from the Arg type. llvm-svn: 105760
* Driver: Add an explicit offset to JoinedArg and JoinedAndSeparateArg, so thatDaniel Dunbar2010-06-091-9/+11
| | | | | | they can be independent of the exact option that created them. llvm-svn: 105739
* Driver: Change Arg::render methods to use option name instead of string whereDaniel Dunbar2010-06-091-2/+2
| | | | | | possible. llvm-svn: 105738
* Driver: Allow Render{Separate,Joined} option flags on JoinedOrSeparate ↵Daniel Dunbar2010-03-201-5/+4
| | | | | | | | option types. Also, simplify/fix SeparateArg::render with forced join. llvm-svn: 99022
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-12/+11
| | | | llvm-svn: 81346
* Driver: Track which original arguments an arg is derived from, so thatDaniel Dunbar2009-03-291-17/+18
| | | | | | | we can properly claim arguments, even if they have been translated by the tool chain. llvm-svn: 68020
* Driver: Fix typo in JoinedAndSeparateArg::render.Daniel Dunbar2009-03-251-1/+1
| | | | llvm-svn: 67677
* Driver: Drop code for checking bounds in SeparateArg::render, thisDaniel Dunbar2009-03-221-3/+2
| | | | | | situation should never occur now that arguments are parsed correctly. llvm-svn: 67493
* fix PR3859: crash with 'cc -V'Nuno Lopes2009-03-221-2/+3
| | | | llvm-svn: 67472
* Driver: Add Arg::getAsString and use when dumping arguments toDaniel Dunbar2009-03-201-0/+16
| | | | | | | | diagnostics. - This ensures that the whole argument and values are printed, instead of just the option name. llvm-svn: 67366
* Driver: Add Arg::renderAsInput; this is a messy area and something IDaniel Dunbar2009-03-191-0/+10
| | | | | | was hoping to clean up in the rewrite, but I don't see it yet. llvm-svn: 67291
* Driver: Provide Arg::render implementations.Daniel Dunbar2009-03-181-6/+22
| | | | llvm-svn: 67182
* Driver: Initialize Arg::ClaimedDaniel Dunbar2009-03-181-1/+2
| | | | llvm-svn: 67160
* Driver: Implement JoinedAndSeparateArg::getValue and add parsing testDaniel Dunbar2009-03-181-2/+3
| | | | | | case. llvm-svn: 67151
* Remove some now-unneeded calls to llvm::errs().flush().Daniel Dunbar2009-03-101-2/+0
| | | | llvm-svn: 66555
* Fix warnings in build on clang-x86_64-freebsd buildbot.Mike Stump2009-03-071-0/+1
| | | | llvm-svn: 66344
* Driver: Basic argument parsing.Daniel Dunbar2009-03-051-6/+41
| | | | | | | | - Add Driver::ParseArgStrings. - Store values directly in CommaJoinedArg to support simple access. - Add FlagArg class. llvm-svn: 66142
* Driver: Implement Option::accept methods.Daniel Dunbar2009-03-041-2/+2
| | | | llvm-svn: 66106
* Driver: Add Arg::dump and SeparateArg stubs.Daniel Dunbar2009-03-041-0/+41
| | | | llvm-svn: 66100
* Driver: Stub out Arg implementations.Daniel Dunbar2009-03-041-0/+72
llvm-svn: 66088
OpenPOWER on IntegriCloud