summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Pass llvm::Triple objects by const reference.Benjamin Kramer2014-03-041-1/+1
| | | | | | Copying isn't cheap as it contains a std::string. llvm-svn: 202880
* [Mips] Check all MIPS toolchains to find the one that best meets commandSimon Atanasyan2014-03-041-18/+33
| | | | | | | | | | line arguments and directories tree. The old toolchain selection heuristics worked incorrectly when user has a reduced MIPS toolchain supports the O32 ABI only. Patch reviewed by Jonathan Roelofs, David Majnemer. llvm-svn: 202873
* [C++11] Replace llvm::tie with std::tie.Benjamin Kramer2014-03-021-1/+1
| | | | llvm-svn: 202639
* Switch all uses of LLVM_OVERRIDE to just use 'override' directly.Craig Topper2014-03-021-1/+1
| | | | llvm-svn: 202625
* Add AArch64 big endian Target (aarch64_be)Christian Pirker2014-02-251-1/+6
| | | | llvm-svn: 202151
* Respect ToolChain::isPIEDefault() in constructing link job on Linux and FreeBSD.Alexey Samsonov2014-02-251-4/+8
| | | | | | Partially based on http://llvm-reviews.chandlerc.com/D2644 by Viktor Kutuzov. llvm-svn: 202150
* Fix typosAlp Toker2014-02-251-11/+11
| | | | llvm-svn: 202108
* Fix an assertion failure when invoking dsymutil.Bob Wilson2014-02-211-2/+5
| | | | | | | | | There is no bound architecture for the dsymutil action in the driver. Trying to check various properties of the target will cause an assertion failure because the target doesn't get initialized without a bound architecture. <rdar://problem/16111555> llvm-svn: 201830
* Fix typo.Rafael Espindola2014-02-201-1/+1
| | | | | | Patch by Stephan Falke. llvm-svn: 201794
* Only print the selected multilib when something is actually found on the host.Yunzhong Gao2014-02-191-2/+6
| | | | llvm-svn: 201709
* Add FreeBSD ARM EABI hard-float supportRenato Golin2014-02-191-0/+1
| | | | | | Patch by Andrew Turner. llvm-svn: 201662
* Darwin: remove buggy assertionTim Northover2014-02-171-2/+0
| | | | | | | | | We later emit a proper error in the situations where this would trigger, so there's no need to check. rdar://problem/16040604 llvm-svn: 201508
* Add Multilib selection machineryJonathan Roelofs2014-02-121-162/+375
| | | | | | | | | | | | This patch improves the support for picking Multilibs from gcc installations. It also provides a better approximation for the flags '-print-multi-directory' and '-print-multi-lib'. This reverts r201203 (i.e. re-applying r201202 with small fixes in unittests/CMakeLists.txtto make the build bots happy). review: http://llvm-reviews.chandlerc.com/D2538 llvm-svn: 201205
* Revert 201202Jonathan Roelofs2014-02-121-375/+162
| | | | | | Breaks cmake configure of new unit tests directory llvm-svn: 201203
* Add Multilib selection machineryJonathan Roelofs2014-02-121-162/+375
| | | | | | | | | This patch improves the support for picking Multilibs from gcc installations. It also provides a better approximation for the flags '-print-multi-directory' and '-print-multi-lib'. review: http://llvm-reviews.chandlerc.com/D2538 llvm-svn: 201202
* Test commit -- Remove an extra newline from Toolchains.cppJonathan Roelofs2014-02-111-1/+0
| | | | llvm-svn: 201172
* Move -verify-pch to use VerifyJobActionBen Langmuir2014-02-061-1/+1
| | | | | | | | | Use the verify hook rather than the compile hook to represent the -verify-pch action, and move the exising --verify-debug-info action into its own subclass of VerifyJobAction. Incidentally change the name printed by -ccc-print-phases for --verify-debug-info. llvm-svn: 200938
* Handle O32/N64 ABIs for NetBSD/MIPS64. From Matt Thomas.Joerg Sonnenberger2014-02-021-0/+7
| | | | llvm-svn: 200668
* Replace hasMipsN32ABIArg with hasMipsABIArg in preparation of o32/n64Joerg Sonnenberger2014-02-021-6/+6
| | | | | | support. llvm-svn: 200667
* Handle compat support for EABI/old APCS compatibility on NetBSD/ARM.Joerg Sonnenberger2014-02-021-1/+20
| | | | llvm-svn: 200665
* Fix an assertion failure when building for the iOS simulator. rdar://15959009Bob Wilson2014-02-011-1/+1
| | | | | | | | | | | | | | When building for i386 or x86_64 with IPHONEOS_DEPLOYMENT_TARGET set in the environment, the toolchain correctly recognizes that the target platform is the iOS simulator. The code in Darwin::addMinVersionArgs was not updated for svn 197148, where isTargetIPhoneOS() was widely replaced by isTargetIOSBased(). This is kind of a strange case, though, because we probably ought to be passing -ios_simulator_version_min to the linker, but according to the FIXME in the code, we intentionally avoid that unless the -mios-simulator-version-min option was used. I don't know whether it is safe to change that yet, so for now, I am just fixing the assertion failure. llvm-svn: 200618
* [Mips] Add support for mips64el-linux-android triple.Simon Atanasyan2014-01-251-1/+2
| | | | llvm-svn: 200081
* Improve x86 android support, add x86_64 android targetAlexey Bataev2014-01-231-1/+2
| | | | llvm-svn: 199875
* Teach Clang to look in its installation libdir for libraries (such asChandler Carruth2014-01-211-0/+20
| | | | | | | | | | | | | | | | libc++) when the installation is within the system root. This doesn't really help cross compiles much, but we don't (currently) have a great story around libc++, cross compiles, and who is responsible for building and/or installing the libraries. However, it handles the very common case of non-cross builds in a way entirely consistent with GCC, so I'm hopeful this won't really hose anyone. This is the second patch that I think should be backported to 3.4 to give folks an easy to checkout and install working Clang+libc++ toolchain. llvm-svn: 199769
* Macho-embedded: rename compiler-rt support from Darwin-embeddedTim Northover2014-01-211-1/+1
| | | | | | | There's nothing Darwin-based in the files or target now, so the previous name is now misleading. llvm-svn: 199733
* Stop linking with crt1.o etc. for the iOS simulator. <rdar://problem/11800973>Bob Wilson2014-01-211-6/+3
| | | | | | | | Recent versions of the iOS simulator no longer require linking with the crt1.o, dylib1.o, or bundle1.o files. The relevant code is now included in libSystem for the simulator. llvm-svn: 199696
* Make the Linux support for finding libc++ somewhat less braindead.Chandler Carruth2014-01-201-6/+22
| | | | | | | | | | | | Now instead of just looking in the system root for it, we also look relative to the clang binary's directory. This should "just work" in almost all cases. I've added test cases accordingly. This is probably *very* worthwhile to backport to the 3.4 branch so that folks can check it out, build it, and use that as their host compiler going forward. llvm-svn: 199632
* Use switch statements in preparation for adding more architectures.Joerg Sonnenberger2014-01-181-1/+6
| | | | llvm-svn: 199529
* MachO: use *-*-*-macho for MachO embedded targets.Tim Northover2014-01-161-67/+202
| | | | | | | | | | | | Previously we had bodged together some hacks mapping MachO embedded targets (i.e. mainly ARM v6M and v7M) to the "*-*-darwin-eabi" triple. This is incorrect in both details (they don't run Darwin and they're not EABI in any real sense). This commit appropriates the existing "MachO" environment for the purpose instead. llvm-svn: 199367
* Remove support for armv7f slice. <rdar://problem/12478440>Bob Wilson2014-01-151-5/+1
| | | | | | This was never used for anything so we should just get rid of it. llvm-svn: 199336
* Rename target i386-linux-android to i686-linux-androidAlexey Bataev2014-01-131-1/+1
| | | | llvm-svn: 199073
* Enable -fuse-init-array for all AArch64 ELF targets by default, not just linux.Kristof Beyls2014-01-101-13/+15
| | | | llvm-svn: 198940
* Locate GCC installations on SPARC systems.Jakob Stoklund Olesen2014-01-101-0/+28
| | | | llvm-svn: 198918
* Sort all the #include lines with LLVM's utils/sort_includes.py whichChandler Carruth2014-01-071-1/+1
| | | | | | | encodes the canonical rules for LLVM's style. I noticed this had drifted quite a bit when cleaning up LLVM, so wanted to clean up Clang as well. llvm-svn: 198686
* Driver: Accept -fprofile-instr-use and -fprofile-instr-generateJustin Bogner2014-01-061-0/+1
| | | | | | These flags will be used for instrumentation based PGO. llvm-svn: 198639
* Darwin-embedded: find correct libclang_rt for embedded targets.Tim Northover2013-12-121-37/+71
| | | | | | | | | | | | This refactors some of the Darwin toolchain classification to give a more solid distinction between the three primary Darwin platforms (OS X, IOS and IOS simulator) so that a 4th choice can be added temporarily: embedded MachO targets. Longer term, this support will be factored out into a separate class and no longer classified as "darwin-eabi", but the refactoring should still be useful. llvm-svn: 197148
* Turning IAS on by default on ARM/ThumbRenato Golin2013-12-111-1/+4
| | | | | | | | | | | | This is an experimental feature, where -integrated-as will be on by default on ARM/Thumb. We aim to detect the missing features so that the next release is stable. Updating the ReleaseNotes, too. Also moving the AArch64 into the same place. llvm-svn: 197024
* Added support for mcpu kraitAna Pazos2013-12-061-1/+1
| | | | | | | | | | | | - krait processor currently modeled with the same features as A9. - Krait processor additionally has VFP4 (fused multiply add/sub) and hardware division features enabled. - krait has currently the same Schedule model as A9 - krait cpu flag is not recognized by the GNU assembler yet, it is replaced with march=armv7-a to avoid a lower march from being used. llvm-svn: 196618
* Move the body of GCCInstallationDetector ctor into an init() functionRoman Divacky2013-12-061-5/+6
| | | | | | | and call it from its only user. The linux toolchain. This saves quite a lot of directory searching on other platforms. llvm-svn: 196590
* Fix a tranche of comment, test and doc typosAlp Toker2013-12-051-2/+2
| | | | llvm-svn: 196510
* [Mips] Add support for nan2008 libraries and headers look up for CodeSimon Atanasyan2013-11-261-0/+2
| | | | | | Sourcery MIPS toolchain. llvm-svn: 195753
* [Mips] Do not detect a used MIPS toolchain. Build a path suffix for FSFSimon Atanasyan2013-11-261-50/+47
| | | | | | | toolchain first and check the path existence. If the path does not exist build and check a path suffix for Code Sourcery toolchain. llvm-svn: 195751
* [Mips] Call findMIPSABIDirSuffix() for MIPS targets only.Simon Atanasyan2013-11-261-4/+2
| | | | llvm-svn: 195750
* Make the integrated assembler the default for cygwin/mingw too.Rafael Espindola2013-11-251-0/+5
| | | | | | | The integrated assembler was already the default for win32. It is now able to handle a clang bootstrap on mingw, so make it the default. llvm-svn: 195676
* remove gcc::PrecompileRafael Espindola2013-11-241-4/+0
| | | | | | | | | | | | | | | Clang still has support for running gcc for performing various stages of a build. Right now it looks like this is used for * Supporting Fortran in the clang driver * Running an assembler or linker in systems we don't yet know how to run them directly. It looks like the gcc::Precompile is a vestige from the days when we supported using clang for C and running gcc for c++. This patch removes it (yes, we have no tests for it). llvm-svn: 195586
* Remove the Darwin_Generic_GCC toolchain.Rafael Espindola2013-11-241-6/+0
| | | | | | | | | | | This is currently unused by any test. The code path would still be hit by clang on ppc, but * PPC has not been supported on current versions of OS X * A port of current clang to older OS X on ppc should be using toolchains::DarwinClang. llvm-svn: 195585
* Don't use the gcc driver for assembling.Rafael Espindola2013-11-231-1/+1
| | | | | | | | | Clang knows how to use the gnu assembler directly from doing so on linux and hurd. The existing support worked out of the box on cygwin and mingw and I was able to bootstrap clang with it in both systems (with pending patches for the new mingw abi, but that is independent of the assembler). llvm-svn: 195554
* [Mips] Take in account the -mfp64 command line option when build pathsSimon Atanasyan2013-11-201-2/+12
| | | | | | to the crt*.o files, libraries and headers for the MIPS FSFS toolchain. llvm-svn: 195249
* X86: Make specifying avx2 simpler on Darwin with '-arch'Jim Grosbach2013-11-161-0/+4
| | | | | | | | Teach the '-arch' command line option to enable the compiler-friendly features of core-avx2 CPUs on Darwin. Pass the information along in the target triple like Darwin+ARM does. llvm-svn: 194907
* [ASan] Link with libclang_rt.asan_iossim_dynamic.dylib when targeting the ↵Alexander Potapenko2013-11-151-2/+11
| | | | | | | | iOS simulator. Add a test. llvm-svn: 194820
OpenPOWER on IntegriCloud