summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Option.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [Driver] Refactor clang driver to use LLVM's Option libraryReid Kleckner2013-06-141-200/+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
* Sort all of Clang's files under 'lib', and fix up the broken headersChandler Carruth2012-12-041-4/+3
| | | | | | | | | | | | | uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. llvm-svn: 169237
* [options] Fix mishandling of aliased options that was introduced in r166444.Argyrios Kyrtzidis2012-10-261-8/+18
| | | | llvm-svn: 166801
* [Options] Add prefixes to options.Michael J. Spencer2012-10-221-18/+27
| | | | | | | | | | | | | | 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
* Silence warning about && in ||.Benjamin Kramer2012-10-211-1/+1
| | | | llvm-svn: 166391
* [Options] make Option a value type.Michael J. Spencer2012-10-191-14/+15
| | | | llvm-svn: 166347
* Revert r166223 and the subsequent commits that depend on it, r166230 & r166235.Argyrios Kyrtzidis2012-10-181-15/+14
| | | | | | 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-14/+15
| | | | llvm-svn: 166223
* Revert "[Options] make Option a value type."Eric Christopher2012-10-101-15/+14
| | | | | | | | | | | | | 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-14/+15
| | | | llvm-svn: 165663
* [Options] Store the owning OptTable in Option so it can construct Group and ↵Michael J. Spencer2012-10-031-4/+7
| | | | | | Alias. llvm-svn: 165150
* Revert 'Fix a typo 'iff' => 'if''. iff is an abreviation of if and only if. ↵Sylvestre Ledru2012-09-271-2/+2
| | | | | | See: http://en.wikipedia.org/wiki/If_and_only_if Commit 164766 llvm-svn: 164769
* Fix a typo 'iff' => 'if'Sylvestre Ledru2012-09-271-2/+2
| | | | llvm-svn: 164766
* [Options] Store the option ID in OptTable::Info.Michael J. Spencer2012-09-251-3/+3
| | | | llvm-svn: 164644
* Reduce the amount of state in the Option class by relying on the data from ↵Michael J. Spencer2012-08-211-40/+13
| | | | | | OptTable::Info. llvm-svn: 162299
* Fix -Wswitch warning introduced by r162231David Blaikie2012-08-201-1/+2
| | | | llvm-svn: 162236
* Make Option non virtual.Michael J. Spencer2012-08-201-167/+91
| | | | llvm-svn: 162231
* Remove unnecessary default cases in switches over enums.David Blaikie2012-01-171-2/+0
| | | | | | This allows -Wswitch-enum to find switches that need updating when these enums are modified. llvm-svn: 148281
* Removing a bunch of dead returns/breaks after llvm_unreachables.David Blaikie2011-09-231-3/+0
| | | | llvm-svn: 140407
* More missing header inclusions from llvm_unreachable migration.David Blaikie2011-09-231-0/+1
| | | | llvm-svn: 140369
* Switch assert(0/false) llvm_unreachable.David Blaikie2011-09-231-4/+4
| | | | llvm-svn: 140367
* StringRef'ize clang::drive::Option::getName(), from Zach Wheeler!Douglas Gregor2011-07-051-8/+8
| | | | 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/OptParser: Add a NoForward flag to prevent forwarding certain options toDaniel Dunbar2010-08-131-1/+1
| | | | | | | | GCC. - Mark -Xclang and -mlinker-version= with it for now, although I am sure there are more. llvm-svn: 111005
* Driver: Change OptTable::ParseArg to take any ArgList.Daniel Dunbar2010-06-111-10/+10
| | | | llvm-svn: 105839
* Driver: Change Option parsing to always create arguments referring to unaliasedDaniel Dunbar2010-06-091-9/+10
| | | | | | | | options. - This matches the intent of the .td files, and will simplify alias handling. - PR7321. llvm-svn: 105763
* Driver: Eliminate Arg subclasses, which are now unnecessary.Daniel Dunbar2010-06-091-17/+34
| | | | llvm-svn: 105762
* Driver: Keep the rendering style in the option, instead of as part of the Arg.Daniel Dunbar2010-06-091-1/+25
| | | | llvm-svn: 105761
* Driver: Change Arg to just hold the values directly, instead of implicitlyDaniel Dunbar2010-06-091-8/+17
| | | | | | deriving them from the Arg type. llvm-svn: 105760
* Revert "Driver: Change Option parsing to always create arguments referring toDaniel Dunbar2010-06-091-9/+9
| | | | | | unaliased", this isn't quite right yet. llvm-svn: 105747
* Driver: Change Option parsing to always create arguments referring to unaliasedDaniel Dunbar2010-06-091-9/+9
| | | | | | | | options. - This matches the intent of the .td files, and will simplify alias handling. - PR7321. llvm-svn: 105744
* Driver: Add an explicit offset to JoinedArg and JoinedAndSeparateArg, so thatDaniel Dunbar2010-06-091-4/+5
| | | | | | they can be independent of the exact option that created them. llvm-svn: 105739
* Driver: Take option ID for {Input,Unknown}Option, to drop dependency on ↵Daniel Dunbar2009-11-191-4/+4
| | | | | | actual options. llvm-svn: 89312
* Driver: Introduce OptSpecifier class for protecting access to an option id.Daniel Dunbar2009-11-191-25/+13
| | | | llvm-svn: 89310
* Driver: Resolve inconsistency in matching options against options which areDaniel Dunbar2009-11-191-7/+2
| | | | | | aliases -- just treat this case as an (unchecked) client error. llvm-svn: 89306
* Driver: Store Option ID field as unsigned to drop dependency on the optionsDaniel Dunbar2009-11-181-10/+10
| | | | | | type. llvm-svn: 89232
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-29/+28
| | | | llvm-svn: 81346
* Driver: Add 'q' flag for options which shouldn't be reported as unused.Daniel Dunbar2009-04-071-1/+1
| | | | | | | - <rdar://problem/6756295> warning about '-dynamic' argument unused during compilation seems incorrect llvm-svn: 68535
* Driver: Replace Option::ForwardToGCC by Option::DriverOption (whichDaniel Dunbar2009-03-251-1/+1
| | | | | | matches the flag in Options.def). llvm-svn: 67679
* Driver: Prep for tool chain specific argument translation.Daniel Dunbar2009-03-251-10/+11
| | | | | | | | | | | | | | | | - Lift ArgList to a base class for InputArgList and DerivedArgList. - This is not a great decomposition, but it does embed the translation into the type system, and keep things efficient for tool chains that don't want to do any translation. - No intended functionality change. Eventually I hope to get rid of tool chain specific translation and have each tool do the right thing, but for now this is the easiest way to match gcc precisely (which is good for testing). llvm-svn: 67676
* Driver: Implement 'missing argument' error.Daniel Dunbar2009-03-221-9/+19
| | | | llvm-svn: 67490
* Driver: Add "d" flag to Options.def for options which are completelyDaniel Dunbar2009-03-181-1/+2
| | | | | | | | | | | | handled by driver. - This is not very precise, we use it to drive the "forward-to-gcc" predicate, when trying to talk to a generic gcc tool. - Slightly better than what ccc was doing, and should be good enough. Platforms which want a robust driver should implement a proper tool chain. llvm-svn: 67181
* Driver: Drop some unnecessary uses of clang namespace.Daniel Dunbar2009-03-121-1/+0
| | | | llvm-svn: 66813
* Driver: Add Option flags.Daniel Dunbar2009-03-121-0/+1
| | | | llvm-svn: 66774
* Driver: Tweak option naming/def:Daniel Dunbar2009-03-121-2/+2
| | | | | | | | | | | - Use OPT_ prefix for ids. - Reference groups and aliases by shortend id (on the theory that this is more readable). - Rename the special option ids to more protected names. llvm-svn: 66767
* Driver: Add Option::getId and Option::matches taking an optionDaniel Dunbar2009-03-121-0/+16
| | | | | | | identifier; we will want to use the latter in situations where we just want to check for a match, but not load options unnecessarily. llvm-svn: 66757
* Remove some now-unneeded calls to llvm::errs().flush().Daniel Dunbar2009-03-101-2/+0
| | | | llvm-svn: 66555
* Driver: Basic argument parsing.Daniel Dunbar2009-03-051-9/+2
| | | | | | | | - 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-14/+58
| | | | llvm-svn: 66106
* Driver: Option's need to know their ID.Daniel Dunbar2009-03-041-24/+28
| | | | | | - Also, add Input and Unknown opts to OptTable. llvm-svn: 66079
OpenPOWER on IntegriCloud