summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/OptTable.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Prefer StringRef::startswith to the strncmp/strlen contraption.Benjamin Kramer2012-10-041-1/+2
| | | | | | This may be slightly more efficient and is definitely more readable. llvm-svn: 165217
* Fix invalid reads by memcmp.Benjamin Kramer2012-10-031-1/+1
| | | | | | | Str may be smaller than Start->Name here. Use strncmp to avoid scanning past the end. Found by valgrind. llvm-svn: 165157
* [Options] Store the owning OptTable in Option so it can construct Group and ↵Michael J. Spencer2012-10-031-7/+1
| | | | | | Alias. llvm-svn: 165150
* [Options] Store the option ID in OptTable::Info.Michael J. Spencer2012-09-251-1/+1
| | | | llvm-svn: 164644
* Reduce the amount of state in the Option class by relying on the data from ↵Michael J. Spencer2012-08-211-27/+5
| | | | | | OptTable::Info. llvm-svn: 162299
* Make Option non virtual.Michael J. Spencer2012-08-201-25/+3
| | | | llvm-svn: 162231
* Unify Options.td and CC1Options.td, in a first step towards unifying the ↵James Molloy2012-05-011-0/+2
| | | | | | | | serialization logic in Frontend and Driver. Reviewed by Eric, Doug and Chandler, and here: http://llvm.org/reviews/r/7/ llvm-svn: 155916
* 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-3/+3
| | | | llvm-svn: 140367
* remove unneeded llvm:: namespace qualifiers on some core types now that ↵Chris Lattner2011-07-231-3/+3
| | | | | | | | LLVM.h imports them into the clang namespace. llvm-svn: 135852
* fix a bunch of comment typos found by codespell. Patch byChris Lattner2011-04-151-2/+2
| | | | | | Luis Felipe Strano Moraes! llvm-svn: 129559
* 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
* Declare argv parameters as const char* const* instead of to char** to ↵Axel Naumann2010-10-111-1/+2
| | | | | | clarify that they are not modified, and to allow for string literals as arguments. llvm-svn: 116200
* Driver/OptParser: Add a NoForward flag to prevent forwarding certain options toDaniel Dunbar2010-08-131-0/+2
| | | | | | | | GCC. - Mark -Xclang and -mlinker-version= with it for now, although I am sure there are more. llvm-svn: 111005
* Frontend: Allow passing -cc1 level arguments to plugins. Patch by Troy ↵Daniel Dunbar2010-06-161-1/+2
| | | | | | Straszheim! llvm-svn: 106113
* Driver: Change OptTable::ParseArg to take any ArgList.Daniel Dunbar2010-06-111-1/+1
| | | | llvm-svn: 105839
* Driver: Eliminate Arg subclasses, which are now unnecessary.Daniel Dunbar2010-06-091-2/+2
| | | | llvm-svn: 105762
* Driver: Keep the rendering style in the option, instead of as part of the Arg.Daniel Dunbar2010-06-091-2/+2
| | | | llvm-svn: 105761
* Driver: Change Arg to just hold the values directly, instead of implicitlyDaniel Dunbar2010-06-091-2/+2
| | | | | | deriving them from the Arg type. llvm-svn: 105760
* Driver: Allow Render{Separate,Joined} option flags on JoinedOrSeparate ↵Daniel Dunbar2010-03-201-2/+4
| | | | | | | | option types. Also, simplify/fix SeparateArg::render with forced join. llvm-svn: 99022
* OptTable: Allow option groups to be used to define "help groups", which willDaniel Dunbar2009-12-041-20/+61
| | | | | | collate the options inside that group. llvm-svn: 90592
* OptParser: Add HelpHidden flag.Daniel Dunbar2009-12-041-1/+5
| | | | llvm-svn: 90591
* Add OptTable::PrintHelp.Daniel Dunbar2009-12-031-0/+75
| | | | llvm-svn: 90420
* Factor out OptTable::ParseArgs, for parsing an entire argument vector.Daniel Dunbar2009-11-191-0/+35
| | | | llvm-svn: 89327
* Driver: Take option ID for {Input,Unknown}Option, to drop dependency on ↵Daniel Dunbar2009-11-191-5/+4
| | | | | | actual options. llvm-svn: 89312
* Driver: Introduce OptSpecifier class for protecting access to an option id.Daniel Dunbar2009-11-191-0/+4
| | | | llvm-svn: 89310
* Driver: Split OptTable out into OptTable.{h,cpp}Daniel Dunbar2009-11-191-32/+2
| | | | llvm-svn: 89283
* Make MSVC happy.Daniel Dunbar2009-11-181-12/+12
| | | | llvm-svn: 89247
* Driver: Rework OptTable to have no dependency on the options it manages.Daniel Dunbar2009-11-181-99/+67
| | | | llvm-svn: 89234
* Driver: Switch Options.def to storing flags as a bitmask (instead of mangledDaniel Dunbar2009-11-181-25/+37
| | | | | | into a string). llvm-svn: 89212
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-6/+6
| | | | llvm-svn: 81346
* Explicitly initialize the options array, MinGW's gcc 4.3.5 appears to have a bugDaniel Dunbar2009-07-131-1/+5
| | | | | | in array value-initialization. llvm-svn: 75518
* Driver: Add 'q' flag for options which shouldn't be reported as unused.Daniel Dunbar2009-04-071-0/+1
| | | | | | | - <rdar://problem/6756295> warning about '-dynamic' argument unused during compilation seems incorrect llvm-svn: 68535
* Driver: Fix a parsing bug where some options were matchedDaniel Dunbar2009-04-071-8/+15
| | | | | | | | | incorrectly. I'm blanking on the smartest way to write this search, but we should just do the right thing when we move to TableGen. - <rdar://problem/6761194> [driver] -Wextra-tokens isn't parsed correctly llvm-svn: 68525
* Driver: Add OptTable::getOptionKind.Daniel Dunbar2009-03-311-3/+5
| | | | | | Also, removed default value for getOptionMetaVar. llvm-svn: 68146
* Driver: Add extra parameters for help text to option definitions.Daniel Dunbar2009-03-311-4/+18
| | | | | | | | - Currently unused. And yes, now may be about the time I want a TableGen backend. llvm-svn: 68139
* Driver: Replace Option::ForwardToGCC by Option::DriverOption (whichDaniel Dunbar2009-03-251-6/+1
| | | | | | matches the flag in Options.def). llvm-svn: 67679
* Driver: Prep for tool chain specific argument translation.Daniel Dunbar2009-03-251-1/+1
| | | | | | | | | | | | | | | | - 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
* gcc 4.3 finds my use of ^ suspicious.Daniel Dunbar2009-03-251-1/+1
| | | | llvm-svn: 67673
* Driver: Make argument parsing fast.Daniel Dunbar2009-03-231-13/+32
| | | | | | | | | | | On a synthetic command line consisting of almost all defined options, this drops wall time from .00494 to .00336 and user time from .00258 to .00105. On the same benchmark, clang-driver is about 15% faster than the primary gcc driver and almost twice as fast as the gcc driver driver. llvm-svn: 67564
* Driver: Fix off by one in computation of first searchable option.Daniel Dunbar2009-03-231-1/+1
| | | | llvm-svn: 67552
* Driver: Check that options are ordered properly (outside ofDaniel Dunbar2009-03-231-5/+75
| | | | | | | | Release-Asserts mode). Also, avoid searching through option groups (which will never match). llvm-svn: 67548
* Driver: Implement 'missing argument' error.Daniel Dunbar2009-03-221-3/+10
| | | | llvm-svn: 67490
* Driver: Add "d" flag to Options.def for options which are completelyDaniel Dunbar2009-03-181-3/+13
| | | | | | | | | | | | 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: Value initialization is nicer than memset.Daniel Dunbar2009-03-121-2/+1
| | | | | | | | | - Who wouldn't want correctness to hang critically on two easily ignored characters? Thanks Doug! llvm-svn: 66819
* Driver: Drop some unnecessary uses of clang namespace.Daniel Dunbar2009-03-121-1/+0
| | | | llvm-svn: 66813
* Driver: '-' is parsed as an input.Daniel Dunbar2009-03-121-2/+2
| | | | llvm-svn: 66784
* Driver: Add Option flags.Daniel Dunbar2009-03-121-3/+4
| | | | llvm-svn: 66774
* Driver: Tweak option naming/def:Daniel Dunbar2009-03-121-8/+8
| | | | | | | | | | | - 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: Reorder arguments in Options.def so option name is first.Daniel Dunbar2009-03-121-6/+7
| | | | llvm-svn: 66759
OpenPOWER on IntegriCloud