summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Option.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Driver: Add Option flags.Daniel Dunbar2009-03-041-1/+4
| | | | llvm-svn: 66067
* Driver: Tweak Option::accept interface.Daniel Dunbar2009-03-041-10/+10
| | | | llvm-svn: 66066
* Driver: More Option implementation.Daniel Dunbar2009-03-041-24/+115
| | | | | | | | | | | - Add Options.def file, collects option information. - Actual option instantiation is handled lazily by OptTable to allow the driver to not need to instantiate all options. - cast<> support for Option, other minor tweaks. llvm-svn: 66028
* Sketch Driver Option classes.Daniel Dunbar2009-03-031-0/+89
llvm-svn: 65933
OpenPOWER on IntegriCloud