aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/ToolChains.cpp
AgeCommit message (Collapse)Author
2011-09-09Treat the weak export of block runtime symbols as a deployment-targetJohn McCall
feature akin to the ARC runtime checks. Removes a terrible hack where IR gen needed to find the declarations of those symbols in the translation unit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139404 91177308-0d34-0410-b5e6-96231b3b80d8
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-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-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-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-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-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-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
2011-07-20If -ccc-host-triple i386-pc-win32-macho or -ccc-host-triple Chad Rosier
x86_64-pc-win32-macho is used in conjunction with -no-integrated-as go ahead and use the Darwin system assembler. rdar://9785470 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135604 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Call objc_terminate() instead of abort() when a cleanup throws anJohn McCall
exception in Objective-C; in Objective-C++ we still use std::terminate(). This is only available in very recent runtimes. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134456 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-06Change the driver's logic about Objective-C runtimes: abstract out aJohn McCall
structure to hold inferred information, then propagate each invididual bit down to -cc1. Separate the bits of "supports weak" and "has a native ARC runtime"; make the latter a CodeGenOption. The tool chain is still driving this decision, because it's the place that has the required deployment target information on Darwin, but at least it's better-factored now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134453 91177308-0d34-0410-b5e6-96231b3b80d8
2011-07-02Make the GCC version proliferation worse by N+1 for the sake ofChandler Carruth
ArchLinux. =/ Fixes PR10246. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134299 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-23fix autoconf build from r133710Dylan Noblesmith
Sorry! This commit worked in CMake, but CXX_INCLUDE_ROOT is defined in a different config.h for autoconf. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133715 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-22Build and use libcompiler_rt whenever possible.Eric Christopher
Patch by Jean-Daniel Dupas! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133624 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-21Driver/Darwin: Honor -Xarch_FOO when the arch matches either the toolchain orDaniel Dunbar
the architecture being bound. - Fixes things like -Xarch_armv7. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133490 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-16Be aware of (x86_64-redhat-linux6E-)g++44 on RHEL5.NAKAMURA Takumi
AFAIK, RHEL5 (and its clones) provides g++44 as the package "gcc44-c++". By default, g++-4.1.1 is available, though, its libstdc++ would not be suitable to clang++. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133156 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-15Automatic Reference Counting.John McCall
Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-08Revert "hack in my new variables for GCC"Chandler Carruth
Very sorry for the accidental commit of WIP code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132745 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-08hack in my new variables for GCCChandler Carruth
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132743 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-05Toolchain support for Ubuntu Oneiric. Patch by Michael Wild!Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132669 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-04Make -m32 work on FreeBSD/PowerPC64.Roman Divacky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132634 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-03We were looking at /usr/lib only if the distro had multilib. This is bogus:Rafael Espindola
we look in /usr/lib to find crt1.o, and that depends only on where libc is installed. This fixes the case of using a different gcc installation in a distro without multilib. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132551 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-03Add support for centos.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132550 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-0380-col cleanup.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132543 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-03Untabify and fix whitespace.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132531 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-02We already have support for using c++ headers from a custom location.Rafael Espindola
Before this patch we would still link with the system libstdc++. It worked fine most of the time, but would break if the used headers were a lot newer than the system libraries. This patch changes the driver to use the libraries corresponding to the headers the user selected. This fixes, for example, using 4.5 headers in a system with gcc 4.1. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132497 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-02Add Debian wheezy/sid to ToolChains.cpp. Patch by Michael Wild. PR10064.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@132489 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-24Fix a bug in the most recent openSUSE support patch.Chandler Carruth
This patch also by Ismail Donmez. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131958 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22add opensuse toolchain support, patch by Ismail Donmez!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131857 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-22Add Redhat Enterprise Linux to the Linux toolchain, PR9769,Chris Lattner
patch by Bryce Lelbach git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131840 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-19- Fixes openSUSE detection for 11.4 and upcoming 12.1David Chisnall
- Adds gcc 4.6 to gcc list so that linking will work on openSUSE 12.1 Patch by İsmail Dönmez! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131637 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-17Add some support for RHEL5 systems.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131505 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-16Make the triple an explicit argument of FindTargetProgramPath.Joerg Sonnenberger
Preserve the original triple in the NetBSD toolchain when using -m32 or -m64 and the resulting effective target is different from the triple it started with. This allows -m32 to use the same assembler/linking in cross-compiling mode and avoids confusion about passing down target specific flags in that case like --32. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131404 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-30Driver/Darwin: Don't link -lgcc_s.1 when compiling as iOS for the simulator,Daniel Dunbar
that library has never been in the SDK. Fortunately, it shouldn't be necessary, since that library was also removed in 10.6. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130595 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-30Driver/Darwin: Reject invalid arch combinations withDaniel Dunbar
-mios-simulator-version-min. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130593 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-30Driver/Darwin: Change Darwin toolchain to explicitly track is-ios-sim bit, andDaniel Dunbar
update -mios-simulator-version-min to set it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130592 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-30Driver/Darwin: Sketch initial support for a -mios-simulator-version-min= flagDaniel Dunbar
and associated deployment target environment variable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130591 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-25Let clang detect gcc triple on Ubuntu Natty. Patch by Thomas Jablin.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130119 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-21Driver/Darwin: Allow OS X deployment targets like 10.4.11, even though theyDaniel Dunbar
can't be represented in the environment define. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129939 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-21Driver: Tweak -Xarch diags a bit more, we can't actually differentiate betweenDaniel Dunbar
unknown and "required more arguments", but only the latter should be feasible in practice. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129919 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-21Driver: Improve -Xarch argument diagnostics a bit.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129918 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-19Driver/Darwin: Switch to using -macosx for OS name in triples.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129834 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-19Driver/Darwin: Switch to using new style triples.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129824 91177308-0d34-0410-b5e6-96231b3b80d8