summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove implicit fallthrough from AArch64 to Mips in lib selectionTim Northover2013-06-131-0/+1
| | | | | | | | | Nothing useful to AArch64 will (should!) be found in any Mips-specific directories. Patch by Luke Zarko. llvm-svn: 183956
* Add Ubuntu Saucy to the list of known Ubuntu releasesSylvestre Ledru2013-06-131-1/+3
| | | | | | | Thanks to Dmitry Shachnev for the patch See bug #16317 llvm-svn: 183899
* Add SystemZ supportUlrich Weigand2013-05-061-1/+17
| | | | | | | | | | | | | | This patch then adds all the usual platform-specific pieces for SystemZ: driver support, basic target info, register names and constraints, ABI info and vararg support. It also adds new tests to verify pre-defined macros and inline asm, and updates a test for the minimum alignment change. This version of the patch incorporates feedback from reviews by Eric Christopher and John McCall. Thanks to all reviewers! Patch by Richard Sandiford. llvm-svn: 181211
* Always use / when computing mips specific paths.Rafael Espindola2013-04-301-20/+18
| | | | | | | We were getting paths with both / and \ in them. This should fix mips-cs-ld.c on the windows bots. llvm-svn: 180783
* Add support for -stdlib=libc++ in the NetBSD toolchain.Joerg Sonnenberger2013-04-301-0/+36
| | | | llvm-svn: 180766
* [Mips] Do not add unnecessary Mips toolchain path to the listSimon Atanasyan2013-04-211-5/+0
| | | | | | of system include directories with extern "C" semantics. llvm-svn: 179979
* Supports Sourcery CodeBench Mips toolchain directories tree.Simon Atanasyan2013-04-201-29/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sourcery CodeBench and modern FSF Mips toolchains require a bit more complicated algorithm to calculate headers, libraries and sysroot paths than implemented by Clang driver now. The main problem is that all these paths depend on a set of command line arguments additionally to a target triple value. For example, let $TC is a toolchain installation directory. If we compile big-endian 32-bit mips code, crtbegin.o is in the $TC/lib/gcc/mips-linux-gnu/4.7.2 folder and the toolchain's linker requires --sysroot=$TC/mips-linux-gnu/libc argument. If we compile little-endian 32-bit soft-float mips code, crtbegin.o is in the $TC/lib/gcc/mips-linux-gnu/4.7.2/soft-float/el folder and the toolchain's linker requires --sysroot=$TC/mips-linux-gnu/libc/soft-float/el argument. 1. Calculate MultiarchSuffix using all necessary command line options and use this MultiarchSuffix to detect crtbegin.o location in the GCCInstallationDetector::ScanLibDirForGCCTriple() routine. 2. If a user does not provide --sysroot argument to the driver explicitly, calculate new sysroot value based on command line options. Then use this calculated sysroot path: a. To populate a file search paths list in the Linux::Linux() constructor. b. To find Mips toolchain specific include headers directories in the Linux::AddClangSystemIncludeArgs() routine. c. To provide -–sysroot argument for a linker. Note: - The FSF's tree slightly differs (folder names) and is not supported yet. - New addExternCSystemIncludeIfExits() routine is a temporary solution. I plan to move path existence check to the addExternCSystemInclude() routine by a separate commit. The patch reviewed by Rafael Espindola. http://llvm-reviews.chandlerc.com/D644 llvm-svn: 179934
* Add driver support for fedora 18 on ARM.Rafael Espindola2013-04-141-0/+1
| | | | llvm-svn: 179484
* Fix the driver logic for recent versions of DragonFly.John McCall2013-04-111-1/+4
| | | | | | Patch by John Marino. llvm-svn: 179334
* If the user requested a zero-base-shadow sanitizer, infer -pie and -fPIC ↵Peter Collingbourne2013-04-091-1/+19
| | | | | | | | when appropriate. Differential Revision: http://llvm-reviews.chandlerc.com/D502 llvm-svn: 179082
* Rename clang::driver::tools::linuxtools to clang::driver::tools::gnutools.Thomas Schwinge2013-03-281-2/+2
| | | | | | | This is about the GNU Binutils' assembler and linker, so reflect that in the name. llvm-svn: 178272
* Rename LinuxDistro to Distro.Thomas Schwinge2013-03-281-11/+11
| | | | | | | | The concept of such a software distribution is not tied to the Linux kernel; for example Debian GNU/Linux, Debian GNU/Hurd, and Debian GNU/kFreeBSD all share the same source packages and generally the same user-space configuration. llvm-svn: 178270
* [ASan] Let the users to invoke `clang -fsanitize=address` to link binaries ↵Alexander Potapenko2013-03-211-8/+10
| | | | | | targeting the iOS simulator. llvm-svn: 177633
* Remove the Tools DensMap from the toolchain.Rafael Espindola2013-03-201-108/+97
| | | | | | | | | | Each toolchain has a set of tools, but they are all of known types. It can have a linker, an assembler, a "clang" (compile, analyze, ...) a non-clang compiler, etc. Instead of keeping a map, just have member variable for each type of tool. llvm-svn: 177479
* Finish refactoring the tool selection logic.Rafael Espindola2013-03-191-36/+4
| | | | | | | | | The general pattern now is that Foobar::constructTool only creates tools defined in the tools::foobar namespace and then delegates to the parent. The remaining duplicated code is now in the tools themselves. llvm-svn: 177368
* Centralize the logic for using the integrated assembler.Rafael Espindola2013-03-181-37/+9
| | | | llvm-svn: 177360
* Centralize the recording of which tools have been constructed.Rafael Espindola2013-03-181-251/+79
| | | | llvm-svn: 177319
* Use early returns when checking if we already constructed a tool and whenRafael Espindola2013-03-181-182/+195
| | | | | | delegating to Generic_GCC::SelectTool (it already updates the tool map). llvm-svn: 177305
* Remove unused argument.Rafael Espindola2013-03-181-25/+22
| | | | llvm-svn: 177303
* Pass an ArgList to every toolchain constructor. Remove the useIntegratedAsRafael Espindola2013-03-181-13/+15
| | | | | | argument. llvm-svn: 177301
* Refactor a bit of duplicated code to useIntegratedAs.Rafael Espindola2013-03-181-30/+6
| | | | llvm-svn: 177299
* Remove unused argument.Rafael Espindola2013-03-181-43/+22
| | | | llvm-svn: 177293
* Remove unused argument.Rafael Espindola2013-03-181-12/+12
| | | | llvm-svn: 177287
* Take in account the triplet 'powerpc-linux-gnuspe' for PowerPC SPE. Done for ↵Sylvestre Ledru2013-03-151-0/+3
| | | | | | the port of Debian on this arch. More information on: http://wiki.debian.org/PowerPCSPEPort Patch by Roland Stigge llvm-svn: 177161
* Driver: add support for new style multiarch in Ubuntu 13.04Dmitri Gribenko2013-03-061-2/+24
| | | | | | Patch by Sanne Wouda. llvm-svn: 176557
* Add ARM v6m, v7m, and v7em architectures for Cortex-M series processors.Bob Wilson2013-03-041-5/+14
| | | | | | <rdar://problem/11314476> llvm-svn: 176458
* Remove the SplitDebug action and replace with a set of commandsEric Christopher2013-02-211-4/+0
| | | | | | | in the compilation setup. Note that this doesn't currently work for -no-integrated-as. llvm-svn: 175813
* Driver and option support for -gsplit-dwarf. This is a part ofEric Christopher2013-02-051-0/+4
| | | | | | the DWARF5 split dwarf proposal. llvm-svn: 174349
* Spaces instead of tabs.Eric Christopher2013-02-051-3/+3
| | | | llvm-svn: 174348
* Add support for AArch64 target.Tim Northover2013-01-311-0/+25
| | | | | | | | | | | | | In cooperation with the LLVM patch, this should implement all scalar front-end parts of the C and C++ ABIs for AArch64. This patch excludes the NEON support also reviewed due to an outbreak of batshit insanity in our legal department. That will be committed soon bringing the changes to precisely what has been approved. Further reviews would be gratefully received. llvm-svn: 174055
* [ASan] Link with the dynamic runtime on OS XAlexander Potapenko2013-01-221-4/+2
| | | | | | This patch changes the behavior of the -fsanitize=address flag, making it use the dynamic runtime library (libclang_rt.asan_osx_dynamic.dylib) instead of the static one. It also drops the CoreFoundation dependency, since the dynamic runtime doesn't need it. llvm-svn: 173135
* Port r172856: 'Include ubsan runtime even when building a shared library. We ↵Alexey Samsonov2013-01-211-4/+1
| | | | | | don't require executable to be linked with UBSan.' to Mac llvm-svn: 173014
* [driver/Darwin] Adjust SDKROOT handling code to not generate "-isysroot /".Daniel Dunbar2013-01-151-3/+4
| | | | llvm-svn: 172548
* Remove useless 'llvm::' qualifier from names like StringRef and others that areDmitri Gribenko2013-01-121-1/+1
| | | | | | brought into 'clang' namespace by clang/Basic/LLVM.h llvm-svn: 172323
* ToolChains: Minor touchup to use correct type, avoid truncation.Will Dietz2013-01-101-1/+1
| | | | | | | | | Truncation happens regularly when find_first_not_of returns npos, strings long enough to trigger bug here are implausible. No functionality change intended (ignoring absurd string lengths). llvm-svn: 172127
* Prepare for the upcoming version of Debian (jessie)Sylvestre Ledru2013-01-061-2/+5
| | | | llvm-svn: 171655
* Fix a typo that caused a few standard library implementations of sort toChandler Carruth2012-12-291-1/+1
| | | | | | get the wrong answer. Wasn't caught by my implementation sadly... llvm-svn: 171222
* Try to re-structure the GCCVersion comparison routine to make it easierChandler Carruth2012-12-291-14/+27
| | | | | | | | | | | | to read and tell that it is a SWO -- we now descend through the components and return a result at the first inequal component. Also comment it a bit better and make it a total ordering by sorting on the text of the suffix if necessary. None of this should really be a visible change. llvm-svn: 171219
* Update comments.Rafael Espindola2012-12-211-3/+2
| | | | llvm-svn: 170890
* Fix Generic_GCC::GCCVersion::operator<Rafael Espindola2012-12-201-1/+2
| | | | | | | | | Without this patch comparing two equal versions without patch numbers (4.7 for example) will result in A < B and B < A. Patch by Simon Atanasyan. llvm-svn: 170705
* [driver] Have -isysroot warn on nonexistent paths.Chad Rosier2012-12-191-1/+6
| | | | | | rdar://12282267 llvm-svn: 170611
* Add support for current Ubuntu Quantal and the upcoming Raring.Rafael Espindola2012-12-131-1/+5
| | | | | | Patch by Martin Nowack. llvm-svn: 170147
* Initial support for FreeBSD on ARM.Rafael Espindola2012-12-131-0/+13
| | | | | | Patch by Andrew Turner. llvm-svn: 170096
* Driver/ToolChains.cpp: Add the name CentOS5 32bit gcc44 (aka ↵NAKAMURA Takumi2012-12-071-0/+1
| | | | | | | | i386-redhat-linux6E). Thanks to Bruce Stephens. llvm-svn: 169610
* Revert r169557. It seems that the test is too restrictedLogan Chien2012-12-061-1/+0
| | | | | | and will break the build on buildbot. llvm-svn: 169562
* Add i686-linux-android for gcc toolchain detection.Logan Chien2012-12-061-0/+1
| | | | | | | | | * Look for i686-linux-android under <sysroot>/lib/gcc. * This patch also slightly enhance the test suite for Android GCC toolchain detection. llvm-svn: 169557
* Hexagon TC: Reimplement Link::ConstructJob to callMatthew Curtis2012-12-061-1/+81
| | | | | | | | linker directly Rather than calling gcc. llvm-svn: 169512
* Hexagon TC: Move getHexagonTargetCPU from Tools.cpp toMatthew Curtis2012-12-061-0/+36
| | | | | | | | | | | | ToolChains.cpp This is in anticipation of forthcoming library path changes. Also ... - Fixes some inconsistencies in how the arch is passed to tools. - Add test cases for various forms of arch flags llvm-svn: 169505
* Hexagon TC: Update toolchain to add appropriate includeMatthew Curtis2012-12-061-9/+70
| | | | | | | | | | paths - Inherit from Linux rather than ToolChain - Override AddClangSystemIncludeArgs and AddClangCXXStdlibIncludeArgs to properly set include paths. llvm-svn: 169495
* ToolChains.cpp: Fixup r169260, clang/Config/config.h needs to be listed ↵NAKAMURA Takumi2012-12-041-4/+5
| | | | | | *last*, or llvm/Config/llvm-config.h could not be read in header files. llvm-svn: 169268
OpenPOWER on IntegriCloud