summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Driver: implement driver automagic support for -lcc_kextShantonu Sen2010-09-171-0/+2
| | | | | | | | | Rewrite linker arguments to use libclang_rt.cc_kext.a instead of gcc-specific libcc_kext.a Resolves Radar 7808495 llvm-svn: 114193
* Add a -ftrapv-handler= option which allows a handler to invoke instead of ↵David Chisnall2010-09-171-0/+6
| | | | | | simply aborting when a signed operation overflows. This mirrors the (GCC-incompatible) behaviour from clang 1.0 and 1.1 when -ftrapv was specified, but allows the handler to be defined for each compilation unit. llvm-svn: 114192
* Driver: Fix spelling of AddCXXStdlibLibArgs, which I copy-n-pasto'd.Daniel Dunbar2010-09-171-6/+6
| | | | llvm-svn: 114147
* Driver: Add magic handling for "reserved library names", starting withDaniel Dunbar2010-09-171-4/+15
| | | | | | | | | | | | | | | | | | | | -lstdc++. This is the best gross solution for a gross problem. This issue is that historically, GCC has add -L options to its internally library directories. This has allowed users and platforms to end up depending on the layout of GCC's internal library directories. We want to correct this mistake by eliminating that -L, but this means that existing libraries which are in the GCC lib dir won't be found. We are going to handle this by treating those -l names as "reserved", and requiring toolchains to know how to add the right full path to the reserved library. The immediately side effect of this is that users trying to use -L to find their own -lstdc++ will need to start using -nostdlib (which is a good idea anyway). Another side effect is that -stdlib=libc++ -lstdc++ will now do the "right" thing, for curious definitions of right. llvm-svn: 114144
* Driver: Factor out AddLinkerInputs() function.Daniel Dunbar2010-09-171-100/+34
| | | | llvm-svn: 114138
* Make the new -fobjc-nonfragile-abi2 the defaultFariborz Jahanian2010-09-151-10/+12
| | | | | | | abi for clang's objective-c compilations. (radar 8353555). llvm-svn: 113974
* Driver: Factor out some code for handling the C++ standard library.Daniel Dunbar2010-09-141-7/+10
| | | | llvm-svn: 113890
* Simplify.Daniel Dunbar2010-09-141-10/+9
| | | | llvm-svn: 113889
* Disable cxa_atexit by default on MingW.Anton Korobeynikov2010-09-111-2/+4
| | | | | | Patch by Dimitry Andric! llvm-svn: 113683
* Driver/Darwin: Make the compilation object available in AddLinkArgs.Daniel Dunbar2010-09-091-2/+3
| | | | llvm-svn: 113549
* Driver: Mark function as nounwind when -mkernel or -fapple-kext is present.Daniel Dunbar2010-09-091-1/+2
| | | | llvm-svn: 113541
* Driver/Darwin: Catch another case where ld ends up using ld_classic.Daniel Dunbar2010-09-071-0/+10
| | | | llvm-svn: 113226
* Driver/Darwin: Don't pass -demangle to the linker when we know it is going toDaniel Dunbar2010-09-071-1/+7
| | | | | | | use ld_classic. This is a temporary workaround, the linkr itself should handle this. llvm-svn: 113212
* Make "-ccc-cxx" option work on Linux.Rafael Espindola2010-09-061-1/+1
| | | | | | | | | 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
* Add support for Borland extensions via option -fborland-extensionsDawn Perchik2010-09-021-0/+5
| | | | | | (original patch r112791 was reverted due to a bug). llvm-svn: 112915
* Reverting rev 112791 - apparently -fborland-extensions is on all the time?!Dawn Perchik2010-09-021-5/+0
| | | | llvm-svn: 112797
* Add support for Borland extensions via option -fborland-extensionsDawn Perchik2010-09-021-0/+5
| | | | llvm-svn: 112791
* Frontend: Add basic -H support.Daniel Dunbar2010-08-241-0/+1
| | | | | | | - I didn't implement the GCC "multiple include guard" detection parts, because it doesn't seem useful or obvious. llvm-svn: 111983
* Driver/Clang: Forward -Wa, and -Xassembler to clang -cc1 when using theDaniel Dunbar2010-08-241-3/+8
| | | | | | | integrated assembler. For now this mostly just means that we will error out if someone tries to use this mechanism to send an argument to the assembler. llvm-svn: 111921
* Driver: Move Clang "triple" computation routines to method on theDaniel Dunbar2010-08-231-81/+2
| | | | | | | | | | | ToolChain. This fixes a potenial bad cast when running Clang on PPC code, since the tool chain in effect is not a subclass of the Darwin one, but we were treating it like it was. - This introduces some gross code duplication, but the right fix for it is to just move the Driver to start depending on the targets in libBasic, so I am not planning on fixing it immediately. llvm-svn: 111856
* Visual Studio tools used on win32 hosts when targeting win32.Michael J. Spencer2010-08-211-0/+41
| | | | llvm-svn: 111748
* Add machine-parseable Fix-It output as part of diagnostics, under theDouglas Gregor2010-08-191-0/+1
| | | | | | flag -fdiagnostics-parseable-fixits, from Eelis van der Weegen! llvm-svn: 111557
* Pass some things to the linker that gcc passes. -r is the only one of these ↵David Chisnall2010-08-151-0/+4
| | | | | | that I'm sure about, but the others seem to be listed on FreeBSD by gcc -dumpspecs, so I hope they're right. Apparently -r is also not passed on GNU/Linux (and should be), but I can't see where the toolchain definition for this platform live. llvm-svn: 111114
* Switch on PCH for C++. C++ fans all over the world rejoice.Argyrios Kyrtzidis2010-08-111-6/+2
| | | | llvm-svn: 110879
* Driver/Darwin: Pass -demangle when linking, if the linker supports it.Daniel Dunbar2010-08-111-0/+16
| | | | llvm-svn: 110873
* Driver: Add -mlinker-version=, which forwards to -target-linker-version.Daniel Dunbar2010-08-111-0/+6
| | | | llvm-svn: 110872
* Turn on idempotent operations checker when using --analyze.Ted Kremenek2010-08-101-0/+1
| | | | llvm-svn: 110695
* Run the assembler instead of gcc on Linux.Rafael Espindola2010-08-101-0/+37
| | | | llvm-svn: 110635
* Make -funroll-loops turn on loop unrolling in the optimizer insteadEric Christopher2010-08-071-0/+1
| | | | | | of just ignoring it. llvm-svn: 110525
* Driver: Don't forward any -g options to GCC, when using it to drive theDaniel Dunbar2010-08-031-0/+5
| | | | | | | assembler. - Fixes PR6218, hopefully. llvm-svn: 110111
* Driver: Add Compilation::addCommand and switch tools to using it, now that weDaniel Dunbar2010-08-021-47/+44
| | | | | | don't have to deal with nested jobs. llvm-svn: 110015
* Driver: Eliminate special InputInfo kind for pipes, it is now unused.Daniel Dunbar2010-08-021-121/+34
| | | | llvm-svn: 110013
* Driver/OpenBSD: Update toolchain for compiler changes / C++; patch by JonathanDaniel Dunbar2010-08-011-1/+11
| | | | | | Gray. llvm-svn: 109994
* Driver/Darwin: Set -force_cpusubtype_ALL only by default on x86.Daniel Dunbar2010-07-221-1/+3
| | | | llvm-svn: 109074
* Add -lstdc++ to DragonFly tools.Rafael Espindola2010-07-201-0/+5
| | | | | | Patch by Sascha Wildner. llvm-svn: 108830
* Driver: Make -fnext-runtime the default when rewriting Objective-C.Daniel Dunbar2010-07-191-2/+7
| | | | llvm-svn: 108741
* Driver: Fix a possible use after free.Daniel Dunbar2010-07-181-4/+4
| | | | llvm-svn: 108659
* Driver: When re'execing clang, use path to the main executable instead ofDaniel Dunbar2010-07-141-6/+4
| | | | | | | looking up Clang in the normal search paths (which may end up finding the wrong clang). llvm-svn: 108346
* Driver: Remove some unused arguments.Daniel Dunbar2010-07-141-49/+49
| | | | llvm-svn: 108345
* Driver/Darwin: Pass -pie/-no_pie to the linker when -fpie/-fno-pie and friendsDaniel Dunbar2010-07-131-2/+9
| | | | | | are explicitly given. llvm-svn: 108297
* Introduce -f{no-}spell-checking options to enable/disableDouglas Gregor2010-07-091-0/+4
| | | | | | | spell-checking. By default, spell-checking is enabled for Clang (obviously) but disabled in CIndex for performance reasons. llvm-svn: 107992
* add driver support for minix, patch by Kees van ReeuwijkChris Lattner2010-07-071-29/+157
| | | | | | from PR7583 llvm-svn: 107788
* Driver/IRgen: Add support for -momit-leaf-frame-pointer.Daniel Dunbar2010-07-011-0/+5
| | | | llvm-svn: 107367
* Set the default arch based on the triple.Rafael Espindola2010-06-281-46/+55
| | | | llvm-svn: 107021
* Use softfp for linux gnueabi, keep the warning for everything else.Rafael Espindola2010-06-271-2/+9
| | | | llvm-svn: 106984
* Implement support for -fwrapv, rdar://7221421Chris Lattner2010-06-261-0/+1
| | | | | | | | | | | | As part of this, pull together trapv handling into the same enum. This also add support for NSW multiplies. This also makes PCH disagreement on overflow behavior silent, since it really doesn't matter except for warnings and codegen (no macros get defined etc). llvm-svn: 106956
* Driver: Remove some dead code left around after a refactoring. Found by theDaniel Dunbar2010-06-221-10/+0
| | | | | | Clang static analyzer! llvm-svn: 106568
* implement support for -finstrument-functions, patch by NelsonChris Lattner2010-06-221-0/+2
| | | | | | Elhage! llvm-svn: 106507
* Change the test for which ABI/CC to use on ARM to be base on the environmentRafael Espindola2010-06-161-12/+5
| | | | | | (the last argument of the triple). llvm-svn: 106131
* Implement -fvisibility-inlines-hidden. <rdar://problem/7819834>Douglas Gregor2010-06-151-0/+2
| | | | llvm-svn: 106003
OpenPOWER on IntegriCloud