summaryrefslogtreecommitdiffstats
path: root/clang/tools/driver/driver.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Replace all uses of PathV1::makeAbsolute with PathV2::fs::make_absolute.Michael J. Spencer2010-12-211-12/+16
| | | | llvm-svn: 122340
* Replace all uses of PathV1::get{Basename,Dirname,Suffix} with their PathV2 ↵Michael J. Spencer2010-12-181-2/+2
| | | | | | equivalents. llvm-svn: 122140
* Replace all uses of PathV1::getLast with PathV2::filename.Michael J. Spencer2010-12-181-3/+3
| | | | llvm-svn: 122117
* MemoryBuffer API update.Michael J. Spencer2010-12-161-4/+2
| | | | llvm-svn: 121956
* Use error_code instead of std::string* for MemoryBuffer.Michael J. Spencer2010-12-091-1/+3
| | | | llvm-svn: 121378
* Merge System into Support.Michael J. Spencer2010-11-291-4/+4
| | | | llvm-svn: 120297
* Refactoring of Diagnostic class.Argyrios Kyrtzidis2010-11-181-1/+2
| | | | | | | | | | | -Move the stuff of Diagnostic related to creating/querying diagnostic IDs into a new DiagnosticIDs class. -DiagnosticIDs can be shared among multiple Diagnostics for multiple translation units. -The rest of the state in Diagnostic object is considered related and tied to one translation unit. -Have Diagnostic point to the SourceManager that is related with. Diagnostic can now accept just a SourceLocation instead of a FullSourceLoc. -Reflect the changes to various interfaces. llvm-svn: 119730
* Turns out that we may end up calling dladdr on GetExecutablePath, give it ↵Benjamin Kramer2010-10-301-2/+1
| | | | | | external linkage to make sure the lookup works on all platforms. llvm-svn: 117813
* This function doesn't need external linkage either.Benjamin Kramer2010-10-301-1/+2
| | | | llvm-svn: 117786
* Make "-ccc-cxx" option work on Linux.Rafael Espindola2010-09-061-1/+0
| | | | | | | | | Patch by nobled. I also took the opportunity to make the field private since now it is only ready from the outside. llvm-svn: 113138
* Simplify the ownership model for DiagnosticClients, which was reallyDouglas Gregor2010-08-181-4/+4
| | | | | | | convoluted and a bit leaky. Now, the Diagnostic object owns its DiagnosticClient. llvm-svn: 111437
* Driver: Keep track of a separate "install dir", which is the path where clangDaniel Dunbar2010-08-011-0/+18
| | | | | | | | | was invoked from (which may not be where the executable itself is). - This allows having e.g., /Developer/usr/bin/clang be a symlink to some other location, while still making sure the Driver finds 'as', 'ld', etc. relative to itself. llvm-svn: 109989
* Simplify.Daniel Dunbar2010-08-011-4/+2
| | | | llvm-svn: 109988
* Driver: Switch to using a SmallVector instead of std::vector, and stopDaniel Dunbar2010-07-201-8/+8
| | | | | | accessing outside the range of the vector (which always asserts on Win32). llvm-svn: 108802
* Implement support for reading arguments specified in a file with @file. IfRafael Espindola2010-07-191-18/+96
| | | | | | there is no file named "file", keep the @file option unchanged. llvm-svn: 108697
* Revert r108672, "Implement support for reading arguments specified in a fileDaniel Dunbar2010-07-191-106/+18
| | | | | | | with @file.", it doesn't correctly handle cases where arguments starting with '@' are passed to other command line arguments. llvm-svn: 108686
* Implement support for reading arguments specified in a file with @file.Rafael Espindola2010-07-191-18/+106
| | | | llvm-svn: 108672
* Driver: Change the driver to take the path to the main executable, instead ofDaniel Dunbar2010-07-191-2/+1
| | | | | | | | | taking it in pieces. - Fixes a problem where the Clang executable path was not initialized properly on Win32, because sys::Path::getBasename() doesn't do what I always think it does. Imagine that, a sys::Path interface that is confusing! llvm-svn: 108667
* Refactor the code a bit so that there is only one call to BuildCompilation. TheRafael Espindola2010-07-181-12/+5
| | | | | | | StringPointers vector will also be used in the normal case to handle @file arguments. llvm-svn: 108660
* Driver/MC: Add 'clang -cc1as' integrated assembler tool, currently accepts ↵Daniel Dunbar2010-05-201-4/+17
| | | | | | approximately the same interface as 'llvm-mc'. llvm-svn: 104239
* Driver: Add support for a CLANGXX_IS_PRODUCTION build variable, which enableDaniel Dunbar2010-04-011-1/+8
| | | | | | Clang++ support, even in "Production" mode (for testing purposes). llvm-svn: 100119
* make -ftime-report work even in -disable-free mode. Woo, finally.Chris Lattner2010-03-301-6/+13
| | | | | | rdar://7781603 llvm-svn: 99878
* Driver: Support CC_PRINT_OPTIONS, used for logging the compile commands (in ↵Daniel Dunbar2010-03-201-0/+5
| | | | | | -v style) to a file. llvm-svn: 99054
* Mark variable as constKovarththanan Rajaratnam2010-03-081-2/+2
| | | | llvm-svn: 97951
* Driver: Use TextDiagnosticPrinter instead of a custom one.Daniel Dunbar2010-02-251-33/+4
| | | | llvm-svn: 97102
* clang: Add support for s// edit form of QA_OVERRIDE_GCC3_OPTIONS.Daniel Dunbar2010-02-171-7/+22
| | | | | | - Used to do regex patsubst on arguments. llvm-svn: 96512
* Driver: Use "g++" as generic gcc name when running in C++ mode, for platformsDaniel Dunbar2009-12-251-1/+3
| | | | | | that lack real tool definitions. llvm-svn: 92164
* Remove several .c_str() to be forward-compatible with StringRef.Jeffrey Yasskin2009-12-081-2/+2
| | | | llvm-svn: 90822
* Add gcc's -no-canonical-prefixes option to clang.Rafael Espindola2009-12-041-3/+14
| | | | llvm-svn: 90577
* Put CompilerInvocation testing code in clang-cc instead of clang for now, I ↵Daniel Dunbar2009-11-301-7/+6
| | | | | | | | can't bear to link all of clang into 'clang' yet. :) - Still triggered by a magic leading -cc1 argument, as before. llvm-svn: 90114
* Change CompilerInvocation::CreateFromArgs to take Argv0 and the address of ↵Daniel Dunbar2009-11-291-2/+4
| | | | | | main (or something in the main executable) so it can find the builtin compiler files. llvm-svn: 90090
* Add a workaround to silence a bogus g++-4.4 -pedantic warning.Benjamin Kramer2009-11-201-1/+3
| | | | | | driver.cpp:211: warning: ISO C++ forbids zero-size array 'argv' llvm-svn: 89455
* Sketch some 'clang -cc1' support, for testing parts of CompilerInvocation.Daniel Dunbar2009-11-191-0/+7
| | | | llvm-svn: 89333
* Driver: ArgList doesn't depend on Options.h anymore.Daniel Dunbar2009-11-191-1/+0
| | | | llvm-svn: 89313
* Fix unsafe use of StringRef I introduced.Daniel Dunbar2009-11-111-2/+3
| | | | llvm-svn: 86829
* Driver: Run 'clang' in C++ mode based on the name it was invoked by. We matchDaniel Dunbar2009-11-101-0/+9
| | | | | | | | | | | | anything that ends with ++ or ++-FOO (e.g., c++, clang++, clang++-1.1) as being a "C++ compiler". This allows easy testing of the C++ compiler by 'ln -s clang clang++', or by 'cp clang clang++'. Based on patch by Roman Divacky. llvm-svn: 86697
* Push "clang-is-production" logic up to tools/driver, and make it hittable byDaniel Dunbar2009-09-221-1/+6
| | | | | | defining the CLANG_IS_PRODUCTION Makefile variable. llvm-svn: 82583
* Fix indentation / trailing white space.Daniel Dunbar2009-07-171-51/+51
| | | | llvm-svn: 76200
* [llvm up] Add support for '#' component of QA_OVERRIDE_GCC3_OPTIONS.Daniel Dunbar2009-07-161-11/+26
| | | | | | - This silences the output about how command line arguments are being changed. llvm-svn: 76107
* Driver: Move Compilation::Execute to Driver::ExecuteCompilation.Daniel Dunbar2009-07-011-1/+1
| | | | | | | | | - The Compilation is just a helper class, it shouldn't have that amount of logic in it. - No functionality change. llvm-svn: 74634
* Revert to using &...[0] for std::vector, apparently .data isn't generallyDaniel Dunbar2009-05-261-2/+2
| | | | | | available (and it isn't necessary in this case). llvm-svn: 72425
* Use .data() vs &...[0]Daniel Dunbar2009-05-261-2/+2
| | | | llvm-svn: 72420
* The driver/diagnostic client don't need to be on the heap.Daniel Dunbar2009-05-261-12/+10
| | | | llvm-svn: 72418
* Support QA_OVERRIDE_GCC3_OPTIONSDaniel Dunbar2009-04-171-10/+111
| | | | | | | | | | - Cover your eyes... - This is a simple but effective way to allow developers to build a project with clang while manipulating the command line, without having to edit the project itself. llvm-svn: 69342
* Driver: CCC_ADD_ARGS could end up using dangling pointers.Daniel Dunbar2009-04-101-1/+1
| | | | llvm-svn: 68805
* Allow CCC_ADD_ARGS to add empty argumentsDaniel Dunbar2009-04-011-5/+3
| | | | llvm-svn: 68235
* Support CCC_ADD_ARGS in new driver.Daniel Dunbar2009-04-011-2/+37
| | | | llvm-svn: 68231
* (LLVM up) Update to use llvm::sys::getHostTriple().Daniel Dunbar2009-03-311-7/+5
| | | | | | | | - Always pass -triple to clang-cc (-arch will be removed). - clang-cc doesn't play guess work with the target triple anymore. llvm-svn: 68119
* Rename clang-driver to clang.Daniel Dunbar2009-03-241-0/+1
| | | | | | Again, I tried to update cmake but it is untested. llvm-svn: 67606
* Driver: Give Compilation::Execute total control over the Driver resultDaniel Dunbar2009-03-211-8/+4
| | | | | | | code; and don't return an error code when -### is present, even if errors occur. llvm-svn: 67425
OpenPOWER on IntegriCloud