aboutsummaryrefslogtreecommitdiff
path: root/lib/Support/CommandLine.cpp
AgeCommit message (Collapse)Author
2007-10-09Pass argc by value, not by reference, since it isn't modified.Dan Gohman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42788 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-08Move the space in overview output for commands out of each of theDan Gohman
commands and into the common code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42752 91177308-0d34-0410-b5e6-96231b3b80d8
2007-05-22Make tail merging the default, except on powerPC. There was no prior artDale Johannesen
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
2007-04-12improve the patch for PR1318 to also support grouped options with customChris Lattner
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
2007-04-11Fix PR1318 by reacting appropriately to a mutating option list.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35905 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-07Fix a bug in my earlier commit which exposed positional options backwards.Chris Lattner
This fixes llvm-ar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35727 91177308-0d34-0410-b5e6-96231b3b80d8
2007-04-06rearchitect the registration mechanism used by the command line option stuff.Chris Lattner
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
2007-04-05remove the dead removeArgument method, rename Options to OptionsMap.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35690 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01Add PrintVersionMessage() that tools can use to print version numberDevang Patel
without exiting program. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33737 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07Don't use <sstream> in Streams.h but <iosfwd> instead.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32340 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07Changed llvm_ostream et all to OStream. llvm_cerr, llvm_cout, llvm_null, areBill Wendling
now cerr, cout, and NullStream resp. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32298 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-26Removed #include <iostream> and replace with llvm_* streams.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31927 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-13avoid a ctor/dtor issue with the ProgramName global.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30925 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-12shrink anon-ns and mark stuff static. No functionality changesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30922 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-04Fix more static dtor issuesChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30725 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27Minor code cleanupsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29917 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-27Add external definitions for commonly-used template specializations and addChris Lattner
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-23Make the ProgramName variable a std::string so we can eliminate the pathReid Spencer
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-21For PR797:Reid Spencer
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-02If the Program name was NULL then all further output sent to std::cerr wasJim Laskey
suppressed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29477 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-18Add an out-of-line virtual method to provide a home for the cl::option class.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29191 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-06Print LLVM version info like this:Chris Lattner
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-06-05Make it possible to override the standard version printer. Not all toolsReid Spencer
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-04-28Fix PR743: emit -help output of a tool to cout, not cerr.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28010 91177308-0d34-0410-b5e6-96231b3b80d8
2006-01-17Add support for programs with a null argv[0]Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25379 91177308-0d34-0410-b5e6-96231b3b80d8
2005-12-26MERRY CHRISTMAS EVERYONE!!! (what better way to spend christmas thanDuraid Madina
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-11-16indicate when a tool is a debug build.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24374 91177308-0d34-0410-b5e6-96231b3b80d8
2005-08-08Allow tools with "consume after" options (like lli) to take more positionalChris Lattner
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-08Reject command lines that have too many positional arguments passed (e.g.,Chris Lattner
'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-05-13CapitalizeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21964 91177308-0d34-0410-b5e6-96231b3b80d8
2005-05-10Do not use "" as a sentinal for a missing argument! This fixes PR560.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21850 91177308-0d34-0410-b5e6-96231b3b80d8
2005-04-21Remove trailing whitespaceMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@21422 91177308-0d34-0410-b5e6-96231b3b80d8
2005-02-14Work around GCC PR19958, which causes programs to sometimes crash afterChris Lattner
printing help output or version info. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20180 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-24Implement and document prefix options with arbitrary values including anReid Spencer
= 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-20Fixed assertion from triggering. We need to check if the commandline map is ↵Tanya Lattner
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-19Patches to avoid "leaking" memory on process exit. Patch contributed byChris Lattner
Morten Ofstad! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17998 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16Add a comment to some code that at first glance just doesn't look right.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17886 91177308-0d34-0410-b5e6-96231b3b80d8
2004-11-16Per code review:Reid Spencer
*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-14Implement the MoreHelp utility that calls a function to printmore help ↵Reid Spencer
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-07Replace uses of llvm.org with llvm.cs.uiuc.eduMisha Brukman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@17549 91177308-0d34-0410-b5e6-96231b3b80d8
2004-09-01Changes For Bug 352Reid Spencer
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-01Make CommandLine prefix error output with the name of the program.Reid Spencer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16129 91177308-0d34-0410-b5e6-96231b3b80d8
2004-08-13Allow any cl::opt to use the method getPosition() to retrieve the option'sReid Spencer
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-04Add a --version option for every tool that prints out:Reid Spencer
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-07-18Add a workaround for a GCC 3.3.2 bugChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14976 91177308-0d34-0410-b5e6-96231b3b80d8
2004-07-03Fix compilation on internixChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14588 91177308-0d34-0410-b5e6-96231b3b80d8
2004-05-06Implement the new cl::PositionalEatsArgs flag, refactor code a bitChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@13388 91177308-0d34-0410-b5e6-96231b3b80d8
2004-03-04Hide variable from other functions.Alkis Evlogimenos
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12118 91177308-0d34-0410-b5e6-96231b3b80d8
2003-12-14Finegrainify namespacificationChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10464 91177308-0d34-0410-b5e6-96231b3b80d8
2003-11-11Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8