aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Option.cpp
AgeCommit message (Collapse)Author
2011-09-23Removing a bunch of dead returns/breaks after llvm_unreachables.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140407 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23More missing header inclusions from llvm_unreachable migration.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140369 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-23Switch assert(0/false) llvm_unreachable.David Blaikie
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140367 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-05StringRef'ize clang::drive::Option::getName(), from Zach Wheeler!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134418 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-31Remove stray emacs mode markers in all these files that was causing emacs toNick Lewycky
open them in fundamental-mode instead of c++-mode. Also twiddle whitespace for consistency in ToolChains.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122646 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-13Driver/OptParser: Add a NoForward flag to prevent forwarding certain options toDaniel Dunbar
GCC. - Mark -Xclang and -mlinker-version= with it for now, although I am sure there are more. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111005 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-11Driver: Change OptTable::ParseArg to take any ArgList.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105839 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-09Driver: Change Option parsing to always create arguments referring to unaliasedDaniel Dunbar
options. - This matches the intent of the .td files, and will simplify alias handling. - PR7321. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105763 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-09Driver: Eliminate Arg subclasses, which are now unnecessary.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105762 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-09Driver: Keep the rendering style in the option, instead of as part of the Arg.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105761 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-09Driver: Change Arg to just hold the values directly, instead of implicitlyDaniel Dunbar
deriving them from the Arg type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105760 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-09Revert "Driver: Change Option parsing to always create arguments referring toDaniel Dunbar
unaliased", this isn't quite right yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105747 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-09Driver: Change Option parsing to always create arguments referring to unaliasedDaniel Dunbar
options. - This matches the intent of the .td files, and will simplify alias handling. - PR7321. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105744 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-09Driver: Add an explicit offset to JoinedArg and JoinedAndSeparateArg, so thatDaniel Dunbar
they can be independent of the exact option that created them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105739 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Driver: Take option ID for {Input,Unknown}Option, to drop dependency on ↵Daniel Dunbar
actual options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89312 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Driver: Introduce OptSpecifier class for protecting access to an option id.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89310 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Driver: Resolve inconsistency in matching options against options which areDaniel Dunbar
aliases -- just treat this case as an (unchecked) client error. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89306 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-18Driver: Store Option ID field as unsigned to drop dependency on the optionsDaniel Dunbar
type. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89232 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-09Remove tabs, and whitespace cleanups.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-07Driver: Add 'q' flag for options which shouldn't be reported as unused.Daniel Dunbar
- <rdar://problem/6756295> warning about '-dynamic' argument unused during compilation seems incorrect git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68535 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-25Driver: Replace Option::ForwardToGCC by Option::DriverOption (whichDaniel Dunbar
matches the flag in Options.def). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67679 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-25Driver: Prep for tool chain specific argument translation.Daniel Dunbar
- 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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67676 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-22Driver: Implement 'missing argument' error.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67490 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Add "d" flag to Options.def for options which are completelyDaniel Dunbar
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67181 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12Driver: Drop some unnecessary uses of clang namespace.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66813 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12Driver: Add Option flags.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12Driver: Tweak option naming/def:Daniel Dunbar
- 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66767 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12Driver: Add Option::getId and Option::matches taking an optionDaniel Dunbar
identifier; we will want to use the latter in situations where we just want to check for a match, but not load options unnecessarily. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66757 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10Remove some now-unneeded calls to llvm::errs().flush().Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66555 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-05Driver: Basic argument parsing.Daniel Dunbar
- Add Driver::ParseArgStrings. - Store values directly in CommaJoinedArg to support simple access. - Add FlagArg class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66142 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04Driver: Implement Option::accept methods.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66106 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04Driver: Option's need to know their ID.Daniel Dunbar
- Also, add Input and Unknown opts to OptTable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66079 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04Driver: Add Option flags.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66067 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04Driver: Tweak Option::accept interface.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66066 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04Driver: More Option implementation.Daniel Dunbar
- 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66028 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-03Sketch Driver Option classes.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65933 91177308-0d34-0410-b5e6-96231b3b80d8