Chris Lattner
efa3da5593
avoid a ctor/dtor issue with the ProgramName global.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30925 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-13 00:06:24 +00:00
Chris Lattner
500d8bff20
shrink anon-ns and mark stuff static. No functionality changes
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30922 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-12 22:09:17 +00:00
Chris Lattner
90aa839c88
Fix more static dtor issues
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30725 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-04 21:52:35 +00:00
Chris Lattner
232885873f
Minor code cleanups
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29917 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 22:10:29 +00:00
Chris Lattner
7422a76100
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>).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29909 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27 12:45:47 +00:00
Reid Spencer
6f4c60770c
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29842 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-23 07:10:06 +00:00
Reid Spencer
023fcf9776
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29785 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 02:04:43 +00:00
Jim Laskey
abe0e3e641
If the Program name was NULL then all further output sent to std::cerr was
...
suppressed.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29477 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-02 20:15:56 +00:00
Chris Lattner
433fd76e51
Add an out-of-line virtual method to provide a home for the cl::option class.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29191 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18 23:59:33 +00:00
Chris Lattner
3fc2f4e83f
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29020 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-06 18:33:03 +00:00
Reid Spencer
515b5b379f
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28687 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-05 16:22:56 +00:00
Chris Lattner
a0de843535
Fix PR743: emit -help output of a tool to cout, not cerr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28010 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-28 05:36:25 +00:00
Chris Lattner
79959d21c7
Add support for programs with a null argv[0]
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25379 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17 00:32:28 +00:00
Duraid Madina
786e3e22a9
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/ )
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25012 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-26 04:56:16 +00:00
Chris Lattner
d5bd52ca48
indicate when a tool is a debug build.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24374 91177308-0d34-0410-b5e6-96231b3b80d8
2005-11-16 06:36:47 +00:00
Chris Lattner
21e1a79a31
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!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22717 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-08 21:57:27 +00:00
Chris Lattner
de0132453e
Reject command lines that have too many positional arguments passed (e.g.,
...
'opt x y'). This fixes PR493.
Patch contributed by Owen Anderson!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22705 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-08 17:25:38 +00:00
Chris Lattner
4bf7afcc27
Capitalize
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21964 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-13 19:49:09 +00:00
Chris Lattner
6d5857e139
Do not use "" as a sentinal for a missing argument! This fixes PR560.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21850 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-10 23:20:17 +00:00
Misha Brukman
f976c856fc
Remove trailing whitespace
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21422 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21 22:55:34 +00:00
Chris Lattner
a92d12c053
Work around GCC PR19958, which causes programs to sometimes crash after
...
printing help output or version info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20180 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14 19:17:29 +00:00
Reid Spencer
5f8448f79c
Implement and document prefix options with arbitrary values including an
...
= sign. This needed to support -DNAME=value options as pass-through in
llvmc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18203 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24 06:13:42 +00:00
Tanya Lattner
c4ae8e903c
Fixed assertion from triggering. We need to check if the commandline map is empty before checking if an arg exists.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18057 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-20 23:35:20 +00:00
Chris Lattner
c540ebbc1b
Patches to avoid "leaking" memory on process exit. Patch contributed by
...
Morten Ofstad!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17998 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-19 17:08:15 +00:00
Reid Spencer
5cc498f116
Add a comment to some code that at first glance just doesn't look right.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17886 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:50:36 +00:00
Reid Spencer
9bbba09139
Per code review:
...
*Implement/Document the cl::extrahelp feature instead of the MoreHelp ptr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17871 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16 06:11:52 +00:00
Reid Spencer
ad0846bd8b
Implement the MoreHelp utility that calls a function to printmore help information if the MoreHelp global is not null.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17774 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-14 22:04:00 +00:00
Misha Brukman
fb4863ac55
Replace uses of llvm.org with llvm.cs.uiuc.edu
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17549 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-07 00:58:38 +00:00
Reid Spencer
551ccae044
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/.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16137 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 22:55:40 +00:00
Reid Spencer
e1cc150a8e
Make CommandLine prefix error output with the name of the program.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16129 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01 04:41:28 +00:00
Reid Spencer
1e13fd23d3
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15725 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13 19:47:30 +00:00
Reid Spencer
69105f33c1
Add a --version option for every tool that prints out:
...
Low Level Virtual Machine ($PACKAGE_NAME) $PACKAGE_VERSION
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15454 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-04 00:36:06 +00:00
Chris Lattner
f98cfc716d
Add a workaround for a GCC 3.3.2 bug
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14976 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-18 21:56:20 +00:00
Chris Lattner
5114004110
Fix compilation on internix
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14588 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-03 01:21:05 +00:00
Chris Lattner
bf455c2360
Implement the new cl::PositionalEatsArgs flag, refactor code a bit
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13388 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06 22:04:31 +00:00
Alkis Evlogimenos
5f65adda50
Hide variable from other functions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12118 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04 17:50:44 +00:00
Chris Lattner
2cdd21c2e4
Finegrainify namespacification
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10464 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14 21:35:53 +00:00
Brian Gaeke
d0fde30ce8
Put all LLVM code into the llvm namespace, as per bug 109.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11 22:41:34 +00:00
John Criswell
b576c94c15
Added LLVM project notice to the top of every C++ source file.
...
Header files will be on the way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-20 19:43:21 +00:00
Brian Gaeke
2d6a236003
Change to use strtoul instead of strtoll.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9010 91177308-0d34-0410-b5e6-96231b3b80d8
2003-10-10 17:01:36 +00:00
Brian Gaeke
c86e84bcf3
Add missing apostrophe. It's been bugging me for years.
...
No really, years.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8566 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 18:00:35 +00:00
Misha Brukman
950971dfe6
Fixed spelling & grammar.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8559 91177308-0d34-0410-b5e6-96231b3b80d8
2003-09-16 15:31:46 +00:00
Brian Gaeke
c48ef2ae36
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().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7905 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-15 21:05:57 +00:00
Brian Gaeke
06b06c5f00
Add support for reading command line arguments from an environment variable.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7851 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-14 22:00:59 +00:00
Chris Lattner
9cf3d47702
Add support for "named positional arguments"
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7421 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-30 17:34:02 +00:00
Misha Brukman
1115e0483f
Fixed grammatical error.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7160 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 21:38:28 +00:00
Misha Brukman
b5c520bfb6
Lowercase versions of `occurrence' need to be spelled correctly, too.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7142 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 17:05:26 +00:00
Misha Brukman
dd6cb6a43b
Occurrence' has no
a' and the `r' is doubled.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7140 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-10 16:49:51 +00:00
Chris Lattner
d2a6fc397e
Add support for 'unsigned' command line arguments
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6928 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-28 15:47:20 +00:00
Chris Lattner
72fb8e5082
Add new CommaSeparated option modifier
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6294 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-22 20:26:17 +00:00