aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver
AgeCommit message (Collapse)Author
2011-09-01Fix PR10744 by adding the toolchain path to the regular program pathRafael Espindola
and doing a simple search. Before we would manually check for the linker before the -B options were searched. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138941 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-01Add 4.4.6 to GccVersions[] in lib/Driver/ToolChains.cpp.Hans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138940 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31objective-c: this patch (re)introduces objective-c's default propertyFariborz Jahanian
synthesis. This new feature is currently placed under -fobjc-default-synthesize-properties option and is off by default pending further testing. It will become the default feature soon. // rdar://8843851 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138913 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-31[driver] If no -miphoneos-version-min is specified on the command line *and*Chad Rosier
IPHONEOS_DEPLOYMENT_TARGET if undefined, set -miphoneos-version-min based on isysroot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138892 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-29Some minor updates to the Linux search path handling for Slackware. Patch ↵Eli Friedman
by Will Dietz. PR10692. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138753 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-26Cleanup r138662 per Ben and David's suggestions, thanks.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138670 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-26Make sure the std::string isn't deallocated prior to use. Many thanks to EliChad Rosier
for catching this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138666 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-26[driver] When generating temporary files allow a prefix to be added. In manyChad Rosier
cases we want the prefix to be the original file name less the suffix. For an input such as test.c to named temporary would be something like test-3O4Clq.o Part of <rdar://problem/8314451> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138662 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-26[driver] Remove a few more options when clang invokes cc1plus for i386 kexts.Chad Rosier
<rdar://problem/10027287> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138637 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-26Take 2: Actually fix spacing.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138617 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-2680-column.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138614 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-26[driver] Add -mglobal-merge/-mno-global-merge machine options to ↵Chad Rosier
enable/disable merging of globals during codegen. Fixes <rdar://problem/10017909>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138612 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-26revert 138610, accidental commit.Francois Pichet
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138611 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-26git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138610 ↵Francois Pichet
91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-25[driver] Do not add -kext to the link command line when compiling with Chad Rosier
-fapple-kext. Fixes <rdar://problem/10013310>. Reverts <rdar://problem/7809940>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138564 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-23Add support for a verifier to the driver. Currently only verifies debugEric Christopher
output on darwin so is hard coded there. As a note this will need a little bit of refactoring in the class hierarchy to separate it out for different verifiers based on input type. Fixes rdar://8256258. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138343 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-23enable -fstack-protector on 10.5 for usermode binaries by default.Nico Weber
This matches gcc's behavior. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138324 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-20Typo spotted by Ivan Krasin.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138200 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-19Add a completely hacky workaround for pch kext files with different extensionsEric Christopher
when falling back to cc1plus for our compile. rdar://9963920 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138017 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-18Use StringRef, rather than C string APIs.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137958 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-18No seriously, remove the unsupported warning options.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137918 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-18Fix off by one.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137915 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-18[driver] Implement in a more table-like manner and add many more warning optionsChad Rosier
that aren't handled by llvm-gcc on fallback. Enhancement to rdar://9964354 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137912 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-18Add some more options that aren't handled by llvm-gcc on fallback.Eric Christopher
This is going to be made a table. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137907 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-18[driver] Don't generate diagnostics (i.e., preprocessed source) if reading Chad Rosier
from stdin. This allows Eli and the like to continue with their debugging trickery without loss of limb (or car) on my part. :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137906 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-17Fix else style. No functionality change intended.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137896 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-17Fix typo.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137893 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-17Fix iterator end for r137842.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137849 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-17[driver] Clang doesn't support -mkernel/-fapple-kext for i386, so it's Chad Rosier
automatically invoking llvm-gcc's cc1plus, which doesn't support all options supported by Clang. Therefore, filter out unsupported options. rdar://9964354 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137842 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-17Add additional path to Linux toolchain. Patch by Will Dietz. PR10690.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137839 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-15Make -findirect-virtual-calls and -fterminated-vtables aliases of -fapple-kext.Bob Wilson
Outside the driver, they were already treated that way, but the driver was not giving them the same special treatment as -fapple-kext, e.g., falling back to llvm-gcc for i386/Darwin kexts. Radar 9868422. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137639 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-15Remove duplicate option.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137638 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-14Fix "Uninitialized" warnings on g++-4.4.NAKAMURA Takumi
In fact, they are false warnings but it seems g++-4.4 might be unable to know they must be false. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137568 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-13Reject -mkernel for i386/Darwin C++ code; fall back to llvm-gcc instead.Bob Wilson
Since -mkernel implies -fapple-kext, this just extends the current behavior for -fapple-kext to apply for -mkernel as well. Radar 9933387. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137566 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-13Add support of -x objc-cpp-output, -x objc++-cpp-output to the Driver.Nico Weber
Matches gcc, and is also required for using ccache with clang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137563 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12[driver] Make sure to update the iterator end when erasing for Args.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137539 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12[driver] When generating clang failure diagnostics, don't try to preprocess Chad Rosier
inputs that aren't preprocessable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137532 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12Return the proper type for objects when given a .o extension.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137531 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-12[driver] Refactor a bit to enable a few fixes when generating diagnostics. ↵Chad Rosier
No functional change intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137524 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-08If no -miphoneos-version-min specified, see if we can set the default based onChad Rosier
-isysroot. rdar://9837120 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137075 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-08Improved efficiency by using iterator returned by erase, rather then restarting.Chad Rosier
Thanks to David Blaikie for pointing this out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@137051 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02Fix cmake for r136702 (at least for the most part). Chandler has been kind Chad Rosier
enough to offer to investigate the underlying issue. Thanks to Doug for his assistance as well. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136719 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02Temporarily revert parts of r136702 to make cmake builds happy.Chad Rosier
Someone with more cmake experience want to throw me a bone? :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136709 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-02When the compiler crashes, the compiler driver now produces diagnostic Chad Rosier
information including the fully preprocessed source file(s) and command line arguments. The developer is asked to attach this diagnostic information to a bug report. rdar://9575623 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136702 91177308-0d34-0410-b5e6-96231b3b80d8
2011-08-01Driver: When compiling i386 -fapple-kext code, we fallback to llvmgcc.Chad Rosier
Unfortunately, llvmgcc doesn't always work when writing temporary output to /dev/null. Therefore, create a temp file that is later deleted. rdar://9837692 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136644 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-28Introduce the "-index-header-map" option, to give special semanticsDouglas Gregor
for quoted header lookup when dealing with not-yet-installed frameworks. Fixes <rdar://problem/9824020>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136331 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-27The -fapple-kext flag was designed to "do the right thing" for building code forChad Rosier
use in KEXTs. However, users/Xcode still need to tweak the linker flags to do the right thing, and end up using -Xlinker, for example. Instead, have the driver "do the right thing" when linking when -fapple-kext is present on the command line, and we should have Xcode use -fapple-kext instead of setting other flags like -Xlinker -kext or -nodefaultlibs. rdar://7809940 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@136294 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-23Move ArrayRef to LLVM.h and eliminate now-redundant qualifiers, patch by Jon ↵Chris Lattner
Mulder! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135855 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-23Unbreak the MSVC build, using namespace clang is required otherwise MSVC ↵Francois Pichet
will not find raw_ostream. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135853 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-23remove unneeded llvm:: namespace qualifiers on some core types now that ↵Chris Lattner
LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8