summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add support for OpenBSD SPARC assembler.Rafael Espindola2014-02-281-7/+32
| | | | | | Patch by Brad Smith. llvm-svn: 202462
* Pass the sparc architecture variant to the assembler.Roman Divacky2014-02-251-0/+5
| | | | llvm-svn: 202179
* clang-cl: use -fno-rtti by defaultHans Wennborg2014-02-251-0/+4
| | | | | | | Generating RTTI in the MS ABI is currently not supported, and the failures are confusing to users, so let's disable it by default for now. llvm-svn: 202178
* Give sparcv9 the ability to set the target cpu. Change it from acceptingRoman Divacky2014-02-251-1/+2
| | | | | | | -march which doesnt exist on sparc gcc to -mcpu. While here adjust a few tests to not write an unused temporary file. llvm-svn: 202177
* Add AArch64 big endian Target (aarch64_be)Christian Pirker2014-02-251-0/+3
| | | | llvm-svn: 202151
* Respect ToolChain::isPIEDefault() in constructing link job on Linux and FreeBSD.Alexey Samsonov2014-02-251-6/+8
| | | | | | Partially based on http://llvm-reviews.chandlerc.com/D2644 by Viktor Kutuzov. llvm-svn: 202150
* Factor adding sanitizer linker flags into a separate function and make it ↵Alexey Samsonov2014-02-251-62/+63
| | | | | | less OS-specific llvm-svn: 202148
* Implement -fno-short-wcharRichard Barton2014-02-241-1/+2
| | | | llvm-svn: 202058
* clang: add -f{no-,}integrate-as as consistent parametersSaleem Abdulrasool2014-02-231-3/+3
| | | | | | | | The integrated assembler is a feature. This makes the new flags the default option, and the previous versions aliases. Ideally, at some point the aliases would be entirely removed. llvm-svn: 201963
* clang: forward -no-integrated-as from the driverSaleem Abdulrasool2014-02-221-2/+7
| | | | | | | | | | | | | | Forward the -no-integrated-as option to -cc1 rather than simply invoking the appropriate tool. This is useful since this option has been overloaded to permit disabling of parsing inline assembly at the MC layer. This re-applies the previous version of the patch with a renaming of the driver option to the public name rather than the internal name (-target vs -triple). The actual failure is fixed separately of an overly aggressive negative pattern match in the MIPS driver tests. It also fixes the incorrect test for targets that have the integrated assembler disabled by default. llvm-svn: 201960
* Revert "clang: forward -no-integrated-as from the driver"Saleem Abdulrasool2014-02-221-7/+2
| | | | | | This seems to break a MIPS test. Revert until I figure out the root cause. llvm-svn: 201954
* clang: forward -no-integrated-as from the driverSaleem Abdulrasool2014-02-221-2/+7
| | | | | | | | Forward the -no-integrated-as option to -cc1 rather than simply invoking the appropriate tool. This is useful since this option has been overloaded to permit disabling of parsing inline assembly at the MC layer. llvm-svn: 201952
* Default to ARMv5e for NetBSD/EABI, ARMv4 for APCS.Joerg Sonnenberger2014-02-211-4/+20
| | | | llvm-svn: 201894
* Add support for FPv4-SP to the clang driverOliver Stannard2014-02-211-0/+5
| | | | | | | | | | | | | Added two new options for -mfpu when targetting ARM: * fpv4-sp-d16 * fp4-sp-d16 The first is the same spelling as gcc. The lack of a leading `v' is correct, this is consistent with ARM's documentation and gcc's spelling of the option. llvm-svn: 201846
* Get rid of obsolete addProfileRT(), generalize the relevant ↵Alexey Samsonov2014-02-201-31/+15
| | | | | | addProfileRTLinux() to all OS llvm-svn: 201789
* Hook up NetBSD/sparc and NetBSD/sparc64 as and ld invocations.Joerg Sonnenberger2014-02-191-0/+23
| | | | llvm-svn: 201730
* GC now unused variable.Joerg Sonnenberger2014-02-191-4/+0
| | | | llvm-svn: 201728
* Use a switch for the architecture specific logic inJoerg Sonnenberger2014-02-191-12/+16
| | | | | | netbsd::Assemble::ConstructJob. llvm-svn: 201725
* clang-cl: Pass /Z7 when we fallback to cl with debug info enabledReid Kleckner2014-02-191-0/+2
| | | | | | | Clang itself only emits CodeView line tables, so it seems more consistent to ask cl.exe for the same format. llvm-svn: 201721
* Refactor -KPIC handling for as invocation.Joerg Sonnenberger2014-02-191-53/+21
| | | | llvm-svn: 201719
* Add FreeBSD ARM EABI hard-float supportRenato Golin2014-02-191-3/+20
| | | | | | Patch by Andrew Turner. llvm-svn: 201662
* Revert "Debug info: Make DWARF4 the default for Darwin, too."Adrian Prantl2014-02-171-2/+10
| | | | | | | | | I'm holding this change to give maintainers of Darwin buildbots more time to update their toolchains. This reverts commit r201375. llvm-svn: 201520
* Enable generation of unwind tables when building with sanitizers.Evgeniy Stepanov2014-02-141-4/+5
| | | | llvm-svn: 201391
* Enable AArch64 NEON by default.Jiangning Liu2014-02-141-0/+2
| | | | llvm-svn: 201384
* Add a command line option -gdwarf-aranges that will turn on emittingEric Christopher2014-02-141-0/+7
| | | | | | the dwarf .debug_aranges section. llvm-svn: 201379
* Debug info: Make DWARF4 the default for Darwin, too.Adrian Prantl2014-02-141-10/+2
| | | | llvm-svn: 201375
* XCore target pass -v flag to assembler & linkerRobert Lytton2014-02-131-2/+8
| | | | llvm-svn: 201312
* add comment explaining previous commitRobert Lytton2014-02-131-0/+1
| | | | | | see 'XCore target -fexceptions flag handling' llvm-svn: 201311
* XCore target -fexceptions flag handlingRobert Lytton2014-02-131-26/+47
| | | | | | | XCore target has -fno-exception as the default option Pass on "-fexceptions" flag to xcc (linker) llvm-svn: 201310
* Remove spurious default case to silent sanitizerRenato Golin2014-02-131-2/+0
| | | | llvm-svn: 201309
* Add EXPERIMENTAL --rtlib=compiler-rt to GNU ClangRenato Golin2014-02-131-2/+37
| | | | | | | | | | | | | | | | | | This commit is not strictly correct nor accounts for all uses (shared objects, for example), but it allows one to test the compiler-rt library on GNU targets. Using this patch to run the test-suite has already shown me problems on ARM. Since this is a Darwin-only flag, nobody is using it, so it shouldn't be a problem. I will need extension to deal with the shared cases, but since we're not compiling libclang_rt.so, that's not yet applicable. Many other problems will have to be fixed first in compiler-rt (such as removing the 'arch' name from it and making it trully multi-arch, moving it to the default lib directory, make both .a and .so variants, etc). llvm-svn: 201307
* MS ABI: Implement #pragma vtordisp() and clang-cl /vdNReid Kleckner2014-02-121-0/+3
| | | | | | | | | | | | | | | | | These features are new in VS 2013 and are necessary in order to layout std::ostream correctly. Currently we have an ABI incompatibility when self-hosting with the 2013 stdlib in our convertible_fwd_ostream wrapper in gtest. This change adds another implicit attribute, MSVtorDispAttr, because implicit attributes are currently the best way to make sure the information stays on class templates through instantiation. Reviewers: majnemer Differential Revision: http://llvm-reviews.chandlerc.com/D2746 llvm-svn: 201274
* Add an option to allow Clang verify source files for a module only once duringDmitri Gribenko2014-02-121-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the build When Clang loads the module, it verifies the user source files that the module was built from. If any file was changed, the module is rebuilt. There are two problems with this: 1. correctness: we don't verify system files (there are too many of them, and stat'ing all of them would take a lot of time); 2. performance: the same module file is verified again and again during a single build. This change allows the build system to optimize source file verification. The idea is based on the fact that while the project is being built, the source files don't change. This allows us to verify the module only once during a single build session. The build system passes a flag, -fbuild-session-timestamp=, to inform Clang of the time when the build started. The build system also requests to enable this feature by passing -fmodules-validate-once-per-build-session. If these flags are not passed, the behavior is not changed. When Clang verifies the module the first time, it writes out a timestamp file. Then, when Clang loads the module the second time, it finds a timestamp file, so it can compare the verification timestamp of the module with the time when the build started. If the verification timestamp is too old, the module is verified again, and the timestamp file is updated. llvm-svn: 201224
* [ARM] Fix NEON wrongly being enabled with soft-float when targeting ↵Amara Emerson2014-02-121-1/+4
| | | | | | | | armv8/Cortex-A53/A57. This was caused by r200708 which enabled the crypto feature for these cores. llvm-svn: 201223
* Add Multilib selection machineryJonathan Roelofs2014-02-121-18/+18
| | | | | | | | | | | | 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-18/+18
| | | | | | Breaks cmake configure of new unit tests directory llvm-svn: 201203
* Add Multilib selection machineryJonathan Roelofs2014-02-121-18/+18
| | | | | | | | | 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
* MS ABI: Add support for the -vm{b,g,s,m,v} flagsDavid Majnemer2014-02-111-0/+27
| | | | | | | | | These flags control the inheritance model initially used by the translation unit. Differential Revision: http://llvm-reviews.chandlerc.com/D2741 llvm-svn: 201175
* XCore target: Pass through "-fverbose-asm" flag to xcc assembler.Robert Lytton2014-02-111-0/+3
| | | | llvm-svn: 201141
* [stackprotector] Add command line option -fstack-protector-strongJosh Magee2014-02-111-2/+6
| | | | | | | | | | This option has the following effects: * It adds the sspstrong IR attribute to each function within the CU. * It defines the macro __SSP_STRONG__ with the value of 2. Differential Revision: http://llvm-reviews.chandlerc.com/D2717 llvm-svn: 201120
* Revert r194097: "With this patch -Wwrite-strings is still implemented with ↵Argyrios Kyrtzidis2014-02-071-4/+7
| | | | | | | | | | | | | the terrible hack of passing -fconst-strings to -cc1" Passing or not a language option based on diagnostic settings is a bad idea, it breaks using a PCH that was compiled with different diagnostic settings. Also add a test case to make sure we don't regress. llvm-svn: 200964
* Use correct ld emulation for EABI hardware float triple on NetBSD.Joerg Sonnenberger2014-02-061-2/+4
| | | | llvm-svn: 200946
* Move -verify-pch to use VerifyJobActionBen Langmuir2014-02-061-4/+3
| | | | | | | | | 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
* Add a CC1 option -verify-pchBen Langmuir2014-02-051-6/+22
| | | | | | | | | This option will: - load the given pch file - verify it is not out of date by stat'ing dependencies, and - return 0 on success and non-zero on error llvm-svn: 200884
* Fix handling of -fno-function-sections, -fno-data-sections in clang driver.Evgeniy Stepanov2014-02-031-2/+9
| | | | llvm-svn: 200685
* Handle O32/N64 ABIs for NetBSD/MIPS64. From Matt Thomas.Joerg Sonnenberger2014-02-021-0/+16
| | | | llvm-svn: 200668
* Use a switch for the emulation handling.Joerg Sonnenberger2014-02-021-8/+10
| | | | llvm-svn: 200666
* Handle compat support for EABI/old APCS compatibility on NetBSD/ARM.Joerg Sonnenberger2014-02-021-0/+17
| | | | llvm-svn: 200665
* Replace hasMipsN32ABIArg by hasMipsABIArg to make it easier to addJoerg Sonnenberger2014-02-021-8/+8
| | | | | | support for o32 and n64. llvm-svn: 200662
* Pass down -mcpu for external assembler in thumb mode, too. From Matt Thomas.Joerg Sonnenberger2014-02-021-1/+2
| | | | llvm-svn: 200661
OpenPOWER on IntegriCloud