Commit Graph

336 Commits

Author SHA1 Message Date
Chris Lattner
28610b9878 don't use count + insert, just do insert + failure. Also, instead of deleting from
the middle of a vector, swap the last element in and pop_back.  Also saves 330 bytes :)

llvm-svn: 82365
2009-09-20 05:15:12 +00:00
Chris Lattner
41f8b0b7a6 switch to SmallPtrSet instead of std::set, saving 1K from the
release-asserts .o file (72900->71856).

llvm-svn: 82364
2009-09-20 05:12:14 +00:00
Chris Lattner
f74e28abfa change an std::sort to an array_pod_sort call, shrinking CommandLine.o by 9%.
llvm-svn: 82363
2009-09-20 05:06:23 +00:00
Chris Lattner
e7c1e210c7 Several changes together in a murky mess:
1. Change some "\n" -> '\n'.
2. eliminte some std::string's by using raw_ostream::indent.
3. move a bunch of code out of the main arg parser routine into
   a new static HandlePrefixedOrGroupedOption function.
4. Greatly simplify the implementation of getOptionPred, and make
   it avoid splitting prefix options at = when that doesn't match
   a non-prefix option.

llvm-svn: 82362
2009-09-20 05:03:30 +00:00
Daniel Dunbar
ecbb126e34 Fix refacto, this code was expecting to stride past the argument prefix.
llvm-svn: 82360
2009-09-20 04:03:41 +00:00
Chris Lattner
5a3fa4ef33 convert argname to StringRef, simplifying LookupOption.
llvm-svn: 82352
2009-09-20 02:02:24 +00:00
Chris Lattner
0a40a975dd convert 'Value' to StringRef which makes it easier to
maintain the "null is unspecified, empty is empty" semantics.

llvm-svn: 82351
2009-09-20 01:53:12 +00:00
Chris Lattner
40fef8032e Change CommaSeparated processing to do it with StringRef instead of temporary std::strings.
This requires StringRef'izing ProvideOption which I also did.

llvm-svn: 82350
2009-09-20 01:49:31 +00:00
Chris Lattner
77c2724360 rewrite ParseCStringVector in terms of stringref.
llvm-svn: 82348
2009-09-20 01:33:46 +00:00
Chris Lattner
1b88fbdaa3 coding style cleanup
llvm-svn: 82346
2009-09-20 01:11:23 +00:00
Chris Lattner
3b8adaf488 convert a bunch more stuff to use StringRef. The ArgName arguments are now
stringref because they may not be nul terminated.  For options like -Lfoo
this now avoids a O(n)  temporary std::strings where N is the length of 
the string after -L.

llvm-svn: 82345
2009-09-20 00:40:49 +00:00
Chris Lattner
ca2552d9f9 avoid a bunch of malloc thrashing for PositinoalVals by eliminating
a std::vector and a bunch of std::string temporaries.

llvm-svn: 82341
2009-09-20 00:07:40 +00:00
Chris Lattner
fa9c6f43a0 Avoid some temporary strings.
llvm-svn: 82339
2009-09-19 23:59:02 +00:00
Chris Lattner
aecd74d895 convert a bunch of std::strings to use StringRef. This should eliminate
a massive number of temporary strings created when parsing a command line.
More still left to eliminate.

llvm-svn: 82318
2009-09-19 18:55:05 +00:00
Benjamin Kramer
543d9b2fba Try to speed up the slowest parts of the CommandLine library
- Replace std::map<std::string with StringMap
- Eliminate unnecessary std::string copies
- ~10% speed-up for clang's testsuite on my machine (debug build)

llvm-svn: 82312
2009-09-19 10:01:45 +00:00
Daniel Dunbar
fc39586b4f Show derived host triple in --version.
llvm-svn: 80855
2009-09-02 23:52:38 +00:00
Chris Lattner
36b3caf9c0 clean up #includes.
llvm-svn: 79857
2009-08-23 18:09:02 +00:00
Benjamin Kramer
c9aa480832 Remove uses of Streams.h from CommandLine.cpp, fix some whitespace and other minor tweaks.
llvm-svn: 79847
2009-08-23 10:01:13 +00:00
Chris Lattner
471ba48cb9 remove some uses of llvm/Support/Streams.h
llvm-svn: 79842
2009-08-23 08:43:55 +00:00
Benjamin Kramer
666cf9d2f2 Remove duplicated colons and spaces.
llvm-svn: 77892
2009-08-02 12:13:02 +00:00
Daniel Dunbar
a0ad190a35 Sort list of targets in --version.
llvm-svn: 77127
2009-07-26 05:09:50 +00:00
Daniel Dunbar
78c8fb1056 Add registered target list to --version output.
llvm-svn: 75889
2009-07-16 02:06:09 +00:00
Torok Edwin
fbcc663cbf llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").

llvm-svn: 75640
2009-07-14 16:55:14 +00:00
Torok Edwin
56d0659726 assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.

llvm-svn: 75379
2009-07-11 20:10:48 +00:00
Torok Edwin
ccb29cd290 Convert more assert(0)+abort() -> LLVM_UNREACHABLE,
and abort()/exit() -> llvm_report_error().

llvm-svn: 75363
2009-07-11 13:10:19 +00:00
Bill Wendling
db59fda319 Add support for a character after a command line option. Like '-Os'.
llvm-svn: 70437
2009-04-29 23:26:16 +00:00
Chris Lattner
3875195865 Remove AllowInverse: it leaks memory and is not the right
abstraction for CommandLine.

llvm-svn: 68588
2009-04-08 03:43:51 +00:00
Misha Brukman
5fc1a0339c * Fixed spelling of `invertible'
* Simplified if statement

llvm-svn: 68163
2009-04-01 00:15:46 +00:00
Chris Lattner
7516668998 move a large method out of line.
llvm-svn: 67892
2009-03-28 02:08:47 +00:00
Mike Stump
b92f839f9c Improve -fno-opt style option processing to not require an extra
option to make the -fno- form on the option.  We also document the new
form in the CommandLine documentation.

llvm-svn: 63559
2009-02-02 22:48:49 +00:00
Mike Stump
ecbe4a0860 Add opposite_of and inverse_opt to support -fno- style options. This
is necessary for eventual gcc commmand line compatibility.

llvm-svn: 63384
2009-01-30 08:19:46 +00:00
Mikhail Glushenkov
57cf3964f3 Clarify comment.
llvm-svn: 63171
2009-01-28 03:46:22 +00:00
Mikhail Glushenkov
6a4f729dc9 Mimic gcc behaviour with regard to response files.
llvm-svn: 62688
2009-01-21 13:14:02 +00:00
Mikhail Glushenkov
cbc26fdb6e Support for multi-valued options in CommandLine
Makes possible to specify options that take multiple arguments (a-la
-sectalign on Darwin). See documentation for details.

llvm-svn: 62372
2009-01-16 22:54:19 +00:00
Steve Naroff
b0ad08b39a Tweak --version to include the date and time.
llvm-svn: 61378
2008-12-23 18:41:47 +00:00
Nuno Lopes
10ab44a3a2 remove unused var
llvm-svn: 60770
2008-12-09 17:04:06 +00:00
Dan Gohman
9c4b7d5c4f Fix command-line option printing to print two spaces where needed,
instead of requiring all "short description" strings to begin with
two spaces. This makes these strings less mysterious, and it fixes
some cases where short description strings mistakenly did not
begin with two spaces.

llvm-svn: 57521
2008-10-14 20:25:08 +00:00
Matthijs Kooijman
c9c67157d1 Give a proper error message when a command line option is defined more than
once (ie, at two different places in the source, not two times on the
commandline).

llvm-svn: 51771
2008-05-30 13:26:11 +00:00
Evan Cheng
86cb31862f Fix more -Wshorten-64-to-32 warnings.
llvm-svn: 50659
2008-05-05 18:30:58 +00:00
Mikhail Glushenkov
5653d3bc48 Add support for response files to the CommandLine library.
llvm-svn: 50355
2008-04-28 16:44:25 +00:00
Dan Gohman
c60c67fc37 Add explicit keywords.
llvm-svn: 48801
2008-03-25 22:06:05 +00:00
Dan Gohman
bdc24adaaf A quick nm audit turned up several fixed tables and objects that were
marked read-write. Use const so that they can be allocated in a
read-only segment.

llvm-svn: 48800
2008-03-25 21:45:14 +00:00
Dan Gohman
63d2d1f554 Fix a bug that caused opt and other tools to silently ignore
invalid command-line options.

llvm-svn: 47523
2008-02-23 01:55:25 +00:00
Anton Korobeynikov
f275a49f7f Add 'sink' cmdline option. Patch by Mikhail Glushenkov!
llvm-svn: 47377
2008-02-20 12:38:07 +00:00
Anton Korobeynikov
579f07135a Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.
llvm-svn: 47367
2008-02-20 11:08:44 +00:00
Chris Lattner
f3ebc3f3d2 Remove attribution from file headers, per discussion on llvmdev.
llvm-svn: 45418
2007-12-29 20:36:04 +00:00
Dan Gohman
66966403ce Pass argc by value, not by reference, since it isn't modified.
llvm-svn: 42788
2007-10-09 16:04:57 +00:00
Dan Gohman
2c6a821fd7 Move the space in overview output for commands out of each of the
commands and into the common code.

llvm-svn: 42752
2007-10-08 15:45:12 +00:00
Dale Johannesen
82810c8a13 Make tail merging the default, except on powerPC. There was no prior art
for a target-dependent default with a command-line override; this way
should be generally usable.

llvm-svn: 37285
2007-05-22 17:14:46 +00:00
Chris Lattner
af039c53c0 improve the patch for PR1318 to also support grouped options with custom
handlers (like the pass list).  My previous fix only supported *new* command
line options, not additions to old ones.

This fixes test/Feature/load_module.ll

llvm-svn: 35935
2007-04-12 00:36:29 +00:00
Chris Lattner
83b53a5964 Fix PR1318 by reacting appropriately to a mutating option list.
llvm-svn: 35905
2007-04-11 15:35:18 +00:00
Chris Lattner
0e1c1d4ae3 Fix a bug in my earlier commit which exposed positional options backwards.
This fixes llvm-ar.

llvm-svn: 35727
2007-04-07 05:38:53 +00:00
Chris Lattner
5247f60d20 rearchitect the registration mechanism used by the command line option stuff.
This dramatically reduce the amount of memory allocated by the commandline stuff
at static init time, changing it to build local data structures when ParseCommandLineOptions
is called.  In a dummy empty program that links some llvm libraries, this reduces
the number of malloc'd bytes from 4864 to 3360 on entry to main.  Most of that
memory is now allocated by non-commandline related stuff.

llvm-svn: 35701
2007-04-06 21:06:55 +00:00
Chris Lattner
2031b02faf remove the dead removeArgument method, rename Options to OptionsMap.
llvm-svn: 35690
2007-04-05 21:58:17 +00:00
Devang Patel
9eb2caaeb6 Add PrintVersionMessage() that tools can use to print version number
without exiting program.

llvm-svn: 33737
2007-02-01 01:43:37 +00:00
Bill Wendling
30c0f3367c Don't use <sstream> in Streams.h but <iosfwd> instead.
llvm-svn: 32340
2006-12-07 23:41:45 +00:00
Bill Wendling
f3baad3ee1 Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, are
now cerr, cout, and NullStream resp.

llvm-svn: 32298
2006-12-07 01:30:32 +00:00
Bill Wendling
3750ae25a0 Removed #include <iostream> and replace with llvm_* streams.
llvm-svn: 31927
2006-11-26 10:52:51 +00:00
Chris Lattner
5af1cbc5cf avoid a ctor/dtor issue with the ProgramName global.
llvm-svn: 30925
2006-10-13 00:06:24 +00:00
Chris Lattner
adb19d6e8f shrink anon-ns and mark stuff static. No functionality changes
llvm-svn: 30922
2006-10-12 22:09:17 +00:00
Chris Lattner
8111c59279 Fix more static dtor issues
llvm-svn: 30725
2006-10-04 21:52:35 +00:00
Chris Lattner
2de6e33c06 Minor code cleanups
llvm-svn: 29917
2006-08-27 22:10:29 +00:00
Chris Lattner
3e5d60fcea Add external definitions for commonly-used template specializations and add
anchor methods to others.  This eliminates the vtable/template method bloat
in .o files that defining a cl::opt used to impose (~4K per .o file for one
cp::opt<unsigned>).

llvm-svn: 29909
2006-08-27 12:45:47 +00:00
Reid Spencer
bd156a901d Make the ProgramName variable a std::string so we can eliminate the path
portion fo the program name via sys::Path().getLast(). This makes error
messages more readable since this is invariably used only in error
messages.  Instead of:
  /path/to/llvm/bin/directory/toolname: error message
we will now get:
  toolname: error message
Also, since we always have a program name (even if its defaulted), don't
check to see if it is set or not when generating error messages. This
eliminates a bunch of constant strings, saving a little under 1K of data.

llvm-svn: 29842
2006-08-23 07:10:06 +00:00
Reid Spencer
c295914b7a For PR797:
Make sys::Program::ExecuteAndWait not throw exceptions and update any
affected code. It now return -9999 to signal that the program couldn't be
executed. Only one case (in bugpoint) actually examines the result code.

llvm-svn: 29785
2006-08-21 02:04:43 +00:00
Jim Laskey
82cd9c513e If the Program name was NULL then all further output sent to std::cerr was
suppressed.

llvm-svn: 29477
2006-08-02 20:15:56 +00:00
Chris Lattner
a0ddced752 Add an out-of-line virtual method to provide a home for the cl::option class.
llvm-svn: 29191
2006-07-18 23:59:33 +00:00
Chris Lattner
8ac22e748c Print LLVM version info like this:
Low Level Virtual Machine (http://llvm.org/):
  llvm version 1.8cvs
  DEBUG build with assertions.

instead of like this:

Low Level Virtual Machine (llvm) 1.8cvs (see http://llvm.org/) ASSERTIONS ENABLED

Also, add a place for vendor version info.

llvm-svn: 29020
2006-07-06 18:33:03 +00:00
Reid Spencer
b3171678ee Make it possible to override the standard version printer. Not all tools
built with CommandLine.h will want the --version option to report that the
tool belongs to LLVM. To override simply pass a void func() to the
cl::SetVersionPrinter() function and that void func() will be called when
it is time to print the version information.

llvm-svn: 28687
2006-06-05 16:22:56 +00:00
Chris Lattner
1b7a51520c Fix PR743: emit -help output of a tool to cout, not cerr.
llvm-svn: 28010
2006-04-28 05:36:25 +00:00
Chris Lattner
f64762c26e Add support for programs with a null argv[0]
llvm-svn: 25379
2006-01-17 00:32:28 +00:00
Duraid Madina
36501f5eb0 MERRY CHRISTMAS EVERYONE!!! (what better way to spend christmas than
to try building LLVM on HP-UX! (the Right Way seems to be to tear out
the ancient STL that HP ship and use http://incubator.apache.org/stdcxx/ )

llvm-svn: 25012
2005-12-26 04:56:16 +00:00
Chris Lattner
fdc8b19ad6 indicate when a tool is a debug build.
llvm-svn: 24374
2005-11-16 06:36:47 +00:00
Chris Lattner
d09a9a788b Allow tools with "consume after" options (like lli) to take more positional
opts than they take directly.  Thanks to John C for pointing this problem
out to me!

llvm-svn: 22717
2005-08-08 21:57:27 +00:00
Chris Lattner
d380d8412d Reject command lines that have too many positional arguments passed (e.g.,
'opt x y').  This fixes PR493.

Patch contributed by Owen Anderson!

llvm-svn: 22705
2005-08-08 17:25:38 +00:00
Chris Lattner
88bb4457fc Capitalize
llvm-svn: 21964
2005-05-13 19:49:09 +00:00
Chris Lattner
c18e92f3cd Do not use "" as a sentinal for a missing argument! This fixes PR560.
llvm-svn: 21850
2005-05-10 23:20:17 +00:00
Misha Brukman
10468d8a3c Remove trailing whitespace
llvm-svn: 21422
2005-04-21 22:55:34 +00:00
Chris Lattner
a3a55bf997 Work around GCC PR19958, which causes programs to sometimes crash after
printing help output or version info.

llvm-svn: 20180
2005-02-14 19:17:29 +00:00
Reid Spencer
80bb693109 Implement and document prefix options with arbitrary values including an
= sign. This needed to support -DNAME=value options as pass-through in
llvmc.

llvm-svn: 18203
2004-11-24 06:13:42 +00:00
Tanya Lattner
d27b014459 Fixed assertion from triggering. We need to check if the commandline map is empty before checking if an arg exists.
llvm-svn: 18057
2004-11-20 23:35:20 +00:00
Chris Lattner
37bcd99622 Patches to avoid "leaking" memory on process exit. Patch contributed by
Morten Ofstad!

llvm-svn: 17998
2004-11-19 17:08:15 +00:00
Reid Spencer
f0173e0c48 Add a comment to some code that at first glance just doesn't look right.
llvm-svn: 17886
2004-11-16 06:50:36 +00:00
Reid Spencer
5e5547045b Per code review:
*Implement/Document the cl::extrahelp feature instead of the MoreHelp ptr.

llvm-svn: 17871
2004-11-16 06:11:52 +00:00
Reid Spencer
1f4ab8b449 Implement the MoreHelp utility that calls a function to printmore help information if the MoreHelp global is not null.
llvm-svn: 17774
2004-11-14 22:04:00 +00:00
Misha Brukman
8a75d2e73b Replace uses of llvm.org with llvm.cs.uiuc.edu
llvm-svn: 17549
2004-11-07 00:58:38 +00:00
Reid Spencer
7c16caa336 Changes For Bug 352
Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.

llvm-svn: 16137
2004-09-01 22:55:40 +00:00
Reid Spencer
9501b9b82b Make CommandLine prefix error output with the name of the program.
llvm-svn: 16129
2004-09-01 04:41:28 +00:00
Reid Spencer
2027a6ffdc Allow any cl::opt to use the method getPosition() to retrieve the option's
absolute position on the command line. Similarly allow any cl::list to
use the method getPosition(n) to retrieve the absolute position of the nth
option in the list. This provides support for two things: (a) options like
-l that are actually positional and their order of occurrence matters when
they are intermixed with positional arguments like "a.o"; and (b) options
like -x LANG which affect only the positional arguments that come after
the option. In both cases, knowing the absolute position of a given option
helps.

llvm-svn: 15725
2004-08-13 19:47:30 +00:00
Reid Spencer
ff6cc1233e Add a --version option for every tool that prints out:
Low Level Virtual Machine ($PACKAGE_NAME) $PACKAGE_VERSION

llvm-svn: 15454
2004-08-04 00:36:06 +00:00
Chris Lattner
13e5831bd0 Add a workaround for a GCC 3.3.2 bug
llvm-svn: 14976
2004-07-18 21:56:20 +00:00
Chris Lattner
d3ecc61840 Fix compilation on internix
llvm-svn: 14588
2004-07-03 01:21:05 +00:00
Chris Lattner
a60f355c87 Implement the new cl::PositionalEatsArgs flag, refactor code a bit
llvm-svn: 13388
2004-05-06 22:04:31 +00:00
Alkis Evlogimenos
33cb4260a5 Hide variable from other functions.
llvm-svn: 12118
2004-03-04 17:50:44 +00:00
Chris Lattner
c9499b6a20 Finegrainify namespacification
llvm-svn: 10464
2003-12-14 21:35:53 +00:00
Brian Gaeke
960707c335 Put all LLVM code into the llvm namespace, as per bug 109.
llvm-svn: 9903
2003-11-11 22:41:34 +00:00
John Criswell
482202a601 Added LLVM project notice to the top of every C++ source file.
Header files will be on the way.

llvm-svn: 9298
2003-10-20 19:43:21 +00:00
Brian Gaeke
e5e53229fc Change to use strtoul instead of strtoll.
llvm-svn: 9010
2003-10-10 17:01:36 +00:00
Brian Gaeke
6d069fcd49 Add missing apostrophe. It's been bugging me for years.
No really, years.

llvm-svn: 8566
2003-09-16 18:00:35 +00:00
Misha Brukman
c08758a5b3 Fixed spelling & grammar.
llvm-svn: 8559
2003-09-16 15:31:46 +00:00
Brian Gaeke
497216dc00 lib/Support/CommandLine.cpp:
Many changes suggested by Chris. It's okay, I'll recover from the emotional
damage...maybe someday. :-)

Collapse ParseCStringVector into ParseStringVector.  Comment it.
Make it take a const input.
Use std::string::npos instead of -1 (what a mouthful!)
Make ParseEnvironmentOptions take const inputs.
Check its args at the very beginning.
Strdup all the contents of newArgv and free them all at the end.

include/Support/CommandLine.h:
Constify progName and envVar arguments to ParseEnvironmentOptions().

llvm-svn: 7905
2003-08-15 21:05:57 +00:00
Brian Gaeke
ca782d9fe6 Add support for reading command line arguments from an environment variable.
llvm-svn: 7851
2003-08-14 22:00:59 +00:00
Chris Lattner
2da046f055 Add support for "named positional arguments"
llvm-svn: 7421
2003-07-30 17:34:02 +00:00
Misha Brukman
5258e59908 Fixed grammatical error.
llvm-svn: 7160
2003-07-10 21:38:28 +00:00
Misha Brukman
c18333ac0a Lowercase versions of `occurrence' need to be spelled correctly, too.
llvm-svn: 7142
2003-07-10 17:05:26 +00:00
Misha Brukman
069e6b5be0 Occurrence' has no a' and the `r' is doubled.
llvm-svn: 7140
2003-07-10 16:49:51 +00:00
Chris Lattner
719c715639 Add support for 'unsigned' command line arguments
llvm-svn: 6928
2003-06-28 15:47:20 +00:00
Chris Lattner
929f27a3e6 Add new CommaSeparated option modifier
llvm-svn: 6294
2003-05-22 20:26:17 +00:00
Chris Lattner
a87170a36a Destroy using declarations
llvm-svn: 6291
2003-05-22 20:06:43 +00:00
Chris Lattner
b4101b1373 Simplify writing custom parsers.
llvm-svn: 3256
2002-08-07 18:36:37 +00:00
Chris Lattner
551e12055d Fix lli with no arguments
llvm-svn: 3226
2002-08-02 21:51:29 +00:00
Chris Lattner
150e46b679 Fix bug that was causing problems for lli
llvm-svn: 3176
2002-07-31 16:29:43 +00:00
Chris Lattner
1f790afad8 * Fix assertion failure caused by command line argument getting removed after
the map was freed.
* Cleanup code a bit

llvm-svn: 3121
2002-07-29 20:58:42 +00:00
Chris Lattner
e04258db39 Remove needless #include
llvm-svn: 3117
2002-07-27 05:25:29 +00:00
Chris Lattner
10073a9080 *** empty log message ***
llvm-svn: 3075
2002-07-25 06:17:51 +00:00
Chris Lattner
ca0e79eaa0 Fix a bug exposed by lli
llvm-svn: 3049
2002-07-24 20:15:13 +00:00
Chris Lattner
494c0b07de *** empty log message ***
llvm-svn: 2999
2002-07-23 17:15:12 +00:00
Chris Lattner
d49ea88488 Minor bugfix, prevents error in LLI
llvm-svn: 2989
2002-07-22 02:21:57 +00:00
Chris Lattner
5df56c47fc Checkin CommandLine 2.0
llvm-svn: 2982
2002-07-22 02:07:59 +00:00
Chris Lattner
8f7b500fff Add ability to update existing variables with values read from the command line
to certain classes.  This is nice because it means that in header files we can
just declare a value, and still have that value be set based on a command-line
argument.  The difference is now that the #include of CommandLine.h does not
need to go into the header file as well.

llvm-svn: 2708
2002-05-22 17:03:05 +00:00
Chris Lattner
d5a847057b Eliminate duplicate or unneccesary #include's
llvm-svn: 2397
2002-04-29 17:42:12 +00:00
Chris Lattner
2294b4ee27 64 bit clean now
llvm-svn: 1789
2002-02-24 23:02:12 +00:00
Chris Lattner
c2ef08ccf5 If an invalid alternative is listed for an argument, print the valid options
llvm-svn: 1604
2002-01-31 00:42:56 +00:00
Chris Lattner
7f74a56e24 Changes to build successfully with GCC 3.02
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Chris Lattner
5de2204fe8 Create a new #include "Support/..." directory structure to move things
from "llvm/Support/..." that are not llvm dependant.

Move files and fix #includes

llvm-svn: 1400
2001-11-27 00:03:19 +00:00
Chris Lattner
f0f9105d4f * Implement support for folding multiple single letter arguments together like
with ls: ls -la  === ls -l -a
* Implement support for trimming arguments that start with a single letter
  argument so that -lfoo is recognized as -l foo for the linker

llvm-svn: 1378
2001-11-26 18:58:34 +00:00
Chris Lattner
e81c409952 Provide option to enable eating of all arguments following a specific one
llvm-svn: 986
2001-10-27 05:54:17 +00:00
Chris Lattner
d4617cdf41 Clean up error handling a bit. Add / as a seperator for command line arguments. This is just a big old ugly hack.
llvm-svn: 974
2001-10-24 06:21:56 +00:00
Chris Lattner
675db8db26 Add StringList support
llvm-svn: 766
2001-10-13 06:53:19 +00:00
Chris Lattner
fd7f856670 Fixed a bug exposed when doing something like this: <program> -notanoption --help
llvm-svn: 293
2001-07-25 18:40:49 +00:00
Chris Lattner
46c73465b6 Doh! Wrong Optional flag. :(
llvm-svn: 290
2001-07-23 23:14:23 +00:00
Chris Lattner
81cc83df03 Add a comment indicating that there is documentation of the library
llvm-svn: 289
2001-07-23 23:04:07 +00:00
Chris Lattner
4fdde2cc62 Minor changes to implementation of CommandLine library to let users override
options forced by different  subclasses of Option

llvm-svn: 286
2001-07-23 23:02:45 +00:00
Chris Lattner
ab0cc40796 CommandLine library cleanup. No longer use getValue/setValue, instead, just treat the commandline
args as the objects they represent and the "right thing" will happen

llvm-svn: 283
2001-07-23 19:27:24 +00:00
Chris Lattner
e2472bbf6c Moved inline/llvm/Tools/* to include/llvm/Support/*
llvm-svn: 279
2001-07-23 17:46:59 +00:00
Chris Lattner
36a57d31e3 Initial checkin
llvm-svn: 278
2001-07-23 17:17:47 +00:00