summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix typos.Rafael Espindola2011-12-141-1/+1
| | | | llvm-svn: 146595
* Don't use the frame pointer on linux x86 and x86_64 if optimizing. ThisRafael Espindola2011-12-141-2/+19
| | | | | | | | matches gcc's behavior. Fixes PR8186. llvm-svn: 146586
* Fix "control may reach end of non-void function" warning.Nick Lewycky2011-12-121-2/+1
| | | | llvm-svn: 146448
* Hexagon backend supportTony Linthicum2011-12-121-4/+252
| | | | llvm-svn: 146413
* Driver: Handle -f{no-}honor-infinities, -f{no-}honor-nans, andDaniel Dunbar2011-12-091-0/+12
| | | | | | | | -ffinite-math-only. - No test case yet, I don't know how to construct a situation where this matters. llvm-svn: 146297
* Misc Minix-specific changes to clang:Eli Friedman2011-12-081-19/+17
| | | | | | | | | | | . move compiler-rt to a separate directory so the -L argument only includes compiler-rt (thanks joerg) . build all clang subdirs . switches the Minix platform to ELF . normalizes toolchain invocation Patch by Ben Gras. llvm-svn: 146206
* Minor cleanup. Avoid redundant getTriple() calls.Bob Wilson2011-12-081-2/+1
| | | | llvm-svn: 146122
* Driver/Linux: Fix the ASAN library path to match current compiler-rtDaniel Dunbar2011-12-071-5/+7
| | | | | | integration. llvm-svn: 146098
* [asan] Mac: do not link dynamic libs with the asan-rt, use -undefined ↵Kostya Serebryany2011-12-061-2/+14
| | | | | | dynamic_lookup for dynamic libs. Style fixes. Patch by glider@google.com llvm-svn: 145955
* Stack realignment is a tristate. Add -mno-stackrealign to turn off all stackNick Lewycky2011-12-061-2/+11
| | | | | | realignment, even with locals with alignment exceeding the ABI guarantee. llvm-svn: 145909
* Add -mstack-alignment=X and fix -mstackrealign handling now that theJoerg Sonnenberger2011-12-051-4/+5
| | | | | | backend options are gone. llvm-svn: 145868
* [asan] don't require libstdc++ for asan on linux. Mac fix will go separatelyKostya Serebryany2011-12-051-1/+0
| | | | llvm-svn: 145823
* Get the -march argument based on the target MIPS architecture or cpu and passAkira Hatanaka2011-11-301-7/+32
| | | | | | | | | it to GNU assembler. In addition, change function getMipsArchFromCPU() so that it can be reused in ConstructJob(). Patch by Simon Atanasyan. llvm-svn: 145509
* when -faddress-sanitizer is present, add required flags to the linker ↵Kostya Serebryany2011-11-301-0/+24
| | | | | | command (linux-only) llvm-svn: 145467
* Change processor names. Patch by Simon Atanasyan.Akira Hatanaka2011-11-291-4/+4
| | | | llvm-svn: 145453
* A couple driver fixes for PPC Linux. Patches by Michael Kostylev. ↵Eli Friedman2011-11-281-0/+8
| | | | | | PR11444/PR11445. llvm-svn: 145321
* Add driver arguments -ftemplate-depth=N and -fconstexpr-depth=N, with the sameRichard Smith2011-11-211-1/+7
| | | | | | | | | | | | | semantics and defaults as the corresponding g++ arguments. The historical g++ argument -ftemplate-depth-N is kept for compatibility, but modern g++ versions no longer document that option. Add -cc1 argument -fconstexpr-depth N to implement the corresponding functionality. The -ftemplate-depth=N part of this fixes PR9890. llvm-svn: 145045
* Change the linker emulation name for FreeBSD/PPC32.Roman Divacky2011-11-211-1/+1
| | | | | | Submitted by Andreas Tobler! llvm-svn: 145041
* Teach the driver about failure result files, which are compilationPeter Collingbourne2011-11-211-0/+2
| | | | | | | | output files that are valid regardless of whether the compilation succeeded or failed (but not if we crash). Add depfiles to the failure result file list. llvm-svn: 145018
* clang/Darwin: Use the compiler-rt provided profile library.Daniel Dunbar2011-11-171-9/+0
| | | | llvm-svn: 144869
* Add -f[no-]address-sanitizer flagKostya Serebryany2011-11-161-0/+4
| | | | llvm-svn: 144800
* Don't track depfiles as result files which need to be cleaned up on failure.Matt Beaumont-Gay2011-11-141-2/+0
| | | | | | | | | This is a partial revert of r143846. While cleaning up after a crash is probably a good idea, we were also deleting .d files if the compilation failed due to invalid input, which is not the desired behavior. The test is XFAIL'd until the cleanup code can be reworked to do the right thing. llvm-svn: 144590
* Add top-level driver option '--serialize-diagnostics' for serialize compiler ↵Ted Kremenek2011-11-111-0/+6
| | | | | | diagnostics to a file. llvm-svn: 144339
* Misc fixes for clang driver on Mips Linux. Patch by Simon Atanasyan.Eli Friedman2011-11-081-0/+11
| | | | llvm-svn: 144108
* Whitespace.Chad Rosier2011-11-071-1/+1
| | | | llvm-svn: 144002
* Tablegenify -g options.Chad Rosier2011-11-071-15/+0
| | | | llvm-svn: 144001
* Fix an unsafe use of Twine.Benjamin Kramer2011-11-071-5/+4
| | | | llvm-svn: 143962
* Fixing -g break caused by a dead reference to a temporary introduced in r143732.David Blaikie2011-11-061-1/+1
| | | | llvm-svn: 143856
* Add the depfile as a result file so that it is deleted if we crash,Peter Collingbourne2011-11-061-2/+5
| | | | | | and prevent the diagnostic preprocessor run from writing a depfile. llvm-svn: 143846
* Move the Linux header searching from the Frontend to the Driver. This isChandler Carruth2011-11-051-3/+3
| | | | | | | | | | | | | | | | the first (and diff-noisiest) step to making Linux header searching tremendously more principled and less brittle. Note that this step should have essentially no functional impact. We still search the exact same set of paths in the exact same order. The only change here is where the code implementing such a search lives. This has one obvious negative impact -- we now pass a ludicrous number of flags to the CC1 layer. That should go away as I re-base this logic on the logic to detect a GCC installation. I want to do this in two phases so the bots can tell me if this step alone breaks something, and so that the diffs of the refactoring make more sense. llvm-svn: 143822
* On Linux, enable the gold plugin if we are using LTO.Peter Collingbourne2011-11-051-1/+1
| | | | llvm-svn: 143778
* Enable -flimit-debug-info by default. Now, clang lazily emits debug info for ↵Devang Patel2011-11-041-0/+1
| | | | | | structs. Original behavior can be restored using -fno-limit-debug-info. llvm-svn: 143733
* [driver] Don't blindly accept all -g options.Chad Rosier2011-11-041-2/+18
| | | | | | rdar://10383444 llvm-svn: 143732
* Sink the strange '-stdlib=...' flag handling into the C++ includeChandler Carruth2011-11-041-4/+1
| | | | | | | | | | | | | | | | | | | | handling logic of the generic ToolChain. This flag, despite its name, has *nothing* to do with the GCC flag '-nostdlib' that relates (exclusively) to the linking behavior. It is a most unfortunate name in that regard... It is used to tell InitHeaderSearch.cpp *which* set of C++ standard library header search paths to use -- those for libstdc++ from GCC's installation, or those from a libc++ installation. As this logic is hoisted out of the Frontend, and into the Driver as part of this ToolChain, the generic method will be overridden for the platform, where it can implement this logic directly. As such, hiding the CC1 option passing in the generic space is a natural fit despite the odd naming. Also, expand on the comments to clarify whats going on, and tidy up the Tools.cpp code now that its simpler. llvm-svn: 143687
* Sink the handling of -fobjc-arc-cxxlib to live with the other -fobjc-arcChandler Carruth2011-11-041-4/+11
| | | | | | | | implementation in the driver. This cleans up the signature and semantics of the include flag adding component of the toolchain. Another step to ready it for holding all the InitHeaderSearch logic. llvm-svn: 143686
* Add a FIXME to cleanup the CPATH handling. It's currently burried withChandler Carruth2011-11-041-0/+2
| | | | | | | | the rest of the mess in InitHeaderSearch.cpp. We could hoist it into the driver profitably, removing more noise from the driver -> frontend communication. llvm-svn: 143685
* Add a system include management interface to the toolchain, and call itChandler Carruth2011-11-041-10/+13
| | | | | | | | | | | and the C++ include management routine from the proper place when forming preprocessor options in the driver. This is the first step to teaching the driver to manage all of the header search paths. Currently, these methods remain just stubs in the abstract toolchain. Subsequent patches will flesh them out with implementations for various toolchains based on the current code in InitHeaderSearch.cpp. llvm-svn: 143684
* Invoke the Darwin assembler with -g instead of --gdwarf2.Bob Wilson2011-11-021-1/+1
| | | | | | | | | The -g and --gdwarf2 options are currently synonyms to the Darwin assembler. But clang itself does not recognize --gdwarf2, so if we want to experiment with using clang, with its integrated assembler, to replace the default assembler, it is necessary to use -g. <rdar://problem/10349486> llvm-svn: 143533
* Add an option to emulate the strange Apple gcc behavior of #pragma pack.Eli Friedman2011-11-021-0/+4
| | | | | | <rdar://problem/10374763> llvm-svn: 143527
* Stop disabling integrated assembler with -static. <rdar://problem/10175391>Bob Wilson2011-10-301-9/+1
| | | | | | | The integrated assembler seems to be working pretty well for -static code now, so remove the hacks to disable it. llvm-svn: 143304
* Allow the -fno-operator-names option to be passed down to the restEric Christopher2011-10-251-0/+1
| | | | | | | | | of the compiler. Fixes PR10198 Patch by Brian Foley! llvm-svn: 142913
* Remove the SystemZ backend.Dan Gohman2011-10-241-3/+0
| | | | llvm-svn: 142879
* Have -fms-no-extensions turn off -fms-compatibilityDouglas Gregor2011-10-241-2/+6
| | | | llvm-svn: 142798
* lib/Driver/Tools.cpp: Use PathV2::is_absolute() to add ↵NAKAMURA Takumi2011-10-221-1/+1
| | | | | | -fdebug-compilation-dir. pwd[0] might not be '/' on Win32 hosts. llvm-svn: 142720
* Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This isNick Lewycky2011-10-211-0/+10
| | | | | | | closer to what GCC does, except that GCC also checks that the inodes for $PWD and '.' match. llvm-svn: 142633
* Frontend: Support -iframework.Daniel Dunbar2011-10-181-4/+0
| | | | llvm-svn: 142418
* Wire up support for the controlling the extended dwarf .file directive. WithNick Lewycky2011-10-171-0/+15
| | | | | | | r142300 but not this patch, clang -S may emit .s files that assemblers other than llvm-mc can't parse. llvm-svn: 142301
* Implement -static-libstdc++ for linux.Rafael Espindola2011-10-171-0/+6
| | | | llvm-svn: 142290
* Implement -static-libgcc on linux and refactor the code responsible for addingRafael Espindola2011-10-171-31/+27
| | | | | | libgcc to the link line into a helper function. llvm-svn: 142269
* Use Triple.isOSDarwin() instead of comparing against Triple::Darwin.Bob Wilson2011-10-141-13/+14
| | | | | | | | | There are now separate Triple::MacOSX and Triple::IOS values for the OS so comparing against Triple::Darwin will fail to match those. Note that I changed the expected output for the Driver/rewrite-objc.m test, which had previously not been passing Darwin-specific options with the macosx triple. llvm-svn: 141944
OpenPOWER on IntegriCloud