aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Support/CommandLine.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Make tail merging the default, except on powerPC. There was no prior artDale Johannesen2007-05-221-0/+18
| | | | | | | | for a target-dependent default with a command-line override; this way should be generally usable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37285 91177308-0d34-0410-b5e6-96231b3b80d8
* improve the patch for PR1318 to also support grouped options with customChris Lattner2007-04-121-7/+12
| | | | | | | | | | 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35935 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR1318 by reacting appropriately to a mutating option list.Chris Lattner2007-04-111-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35905 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a bug in my earlier commit which exposed positional options backwards.Chris Lattner2007-04-071-3/+9
| | | | | | | This fixes llvm-ar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35727 91177308-0d34-0410-b5e6-96231b3b80d8
* rearchitect the registration mechanism used by the command line option stuff.Chris Lattner2007-04-061-65/+84
| | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35701 91177308-0d34-0410-b5e6-96231b3b80d8
* remove the dead removeArgument method, rename Options to OptionsMap.Chris Lattner2007-04-051-61/+30
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35690 91177308-0d34-0410-b5e6-96231b3b80d8
* Add PrintVersionMessage() that tools can use to print version numberDevang Patel2007-02-011-3/+11
| | | | | | | without exiting program. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33737 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't use <sstream> in Streams.h but <iosfwd> instead.Bill Wendling2006-12-071-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32340 91177308-0d34-0410-b5e6-96231b3b80d8
* Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling2006-12-071-47/+47
| | | | | | | now cerr, cout, and NullStream resp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
* Removed #include <iostream> and replace with llvm_* streams.Bill Wendling2006-11-261-34/+34
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31927 91177308-0d34-0410-b5e6-96231b3b80d8
* avoid a ctor/dtor issue with the ProgramName global.Chris Lattner2006-10-131-3/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30925 91177308-0d34-0410-b5e6-96231b3b80d8
* shrink anon-ns and mark stuff static. No functionality changesChris Lattner2006-10-121-10/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30922 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix more static dtor issuesChris Lattner2006-10-041-58/+46
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30725 91177308-0d34-0410-b5e6-96231b3b80d8
* Minor code cleanupsChris Lattner2006-08-271-11/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29917 91177308-0d34-0410-b5e6-96231b3b80d8
* Add external definitions for commonly-used template specializations and addChris Lattner2006-08-271-7/+28
| | | | | | | | | 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
* Make the ProgramName variable a std::string so we can eliminate the pathReid Spencer2006-08-231-26/+14
| | | | | | | | | | | | | | | 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
* For PR797:Reid Spencer2006-08-211-1/+1
| | | | | | | | | 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
* If the Program name was NULL then all further output sent to std::cerr wasJim Laskey2006-08-021-1/+3
| | | | | | | suppressed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29477 91177308-0d34-0410-b5e6-96231b3b80d8
* Add an out-of-line virtual method to provide a home for the cl::option class.Chris Lattner2006-07-181-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29191 91177308-0d34-0410-b5e6-96231b3b80d8
* Print LLVM version info like this:Chris Lattner2006-07-061-5/+13
| | | | | | | | | | | | | | | 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
* Make it possible to override the standard version printer. Not all toolsReid Spencer2006-06-051-18/+29
| | | | | | | | | | 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
* Fix PR743: emit -help output of a tool to cout, not cerr.Chris Lattner2006-04-281-20/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28010 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support for programs with a null argv[0]Chris Lattner2006-01-171-10/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25379 91177308-0d34-0410-b5e6-96231b3b80d8
* MERRY CHRISTMAS EVERYONE!!! (what better way to spend christmas thanDuraid Madina2005-12-261-0/+1
| | | | | | | | 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
* indicate when a tool is a debug build.Chris Lattner2005-11-161-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24374 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow tools with "consume after" options (like lli) to take more positionalChris Lattner2005-08-081-4/+1
| | | | | | | | 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
* Reject command lines that have too many positional arguments passed (e.g.,Chris Lattner2005-08-081-1/+15
| | | | | | | | | '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
* CapitalizeChris Lattner2005-05-131-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21964 91177308-0d34-0410-b5e6-96231b3b80d8
* Do not use "" as a sentinal for a missing argument! This fixes PR560.Chris Lattner2005-05-101-11/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21850 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespaceMisha Brukman2005-04-211-38/+38
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21422 91177308-0d34-0410-b5e6-96231b3b80d8
* Work around GCC PR19958, which causes programs to sometimes crash afterChris Lattner2005-02-141-0/+2
| | | | | | | printing help output or version info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20180 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement and document prefix options with arbitrary values including anReid Spencer2004-11-241-1/+1
| | | | | | | | = 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
* Fixed assertion from triggering. We need to check if the commandline map is ↵Tanya Lattner2004-11-201-0/+2
| | | | | | empty before checking if an arg exists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18057 91177308-0d34-0410-b5e6-96231b3b80d8
* Patches to avoid "leaking" memory on process exit. Patch contributed byChris Lattner2004-11-191-39/+25
| | | | | | | Morten Ofstad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17998 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a comment to some code that at first glance just doesn't look right.Reid Spencer2004-11-161-0/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17886 91177308-0d34-0410-b5e6-96231b3b80d8
* Per code review:Reid Spencer2004-11-161-5/+24
| | | | | | | *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
* Implement the MoreHelp utility that calls a function to printmore help ↵Reid Spencer2004-11-141-0/+10
| | | | | | 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
* Replace uses of llvm.org with llvm.cs.uiuc.eduMisha Brukman2004-11-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17549 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes For Bug 352Reid Spencer2004-09-011-2/+2
| | | | | | | | | 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
* Make CommandLine prefix error output with the name of the program.Reid Spencer2004-09-011-13/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16129 91177308-0d34-0410-b5e6-96231b3b80d8
* Allow any cl::opt to use the method getPosition() to retrieve the option'sReid Spencer2004-08-131-19/+32
| | | | | | | | | | | | | | 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
* Add a --version option for every tool that prints out:Reid Spencer2004-08-041-1/+18
| | | | | | | 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
* Add a workaround for a GCC 3.3.2 bugChris Lattner2004-07-181-1/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14976 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix compilation on internixChris Lattner2004-07-031-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14588 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement the new cl::PositionalEatsArgs flag, refactor code a bitChris Lattner2004-05-061-52/+65
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13388 91177308-0d34-0410-b5e6-96231b3b80d8
* Hide variable from other functions.Alkis Evlogimenos2004-03-041-2/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12118 91177308-0d34-0410-b5e6-96231b3b80d8
* Finegrainify namespacificationChris Lattner2003-12-141-4/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10464 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | | Header files will be on the way. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9298 91177308-0d34-0410-b5e6-96231b3b80d8
* Change to use strtoul instead of strtoll.Brian Gaeke2003-10-101-2/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9010 91177308-0d34-0410-b5e6-96231b3b80d8