summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
Commit message (Collapse)AuthorAgeFilesLines
...
* Tools.cpp: Update getLinuxDynamicLinker() to return Twine instead of ↵NAKAMURA Takumi2014-06-251-3/+3
| | | | | | StringRef, since r211598 has introduced manipulation of return string. llvm-svn: 211663
* Reformat.NAKAMURA Takumi2014-06-251-3/+3
| | | | llvm-svn: 211661
* Use appropriate default PIE settings for OpenBSD.Brad Smith2014-06-241-0/+21
| | | | llvm-svn: 211624
* [Driver][Mips] Support mips64-linux-gnuabi64 / mips64el-linux-gnuabi64 ↵Simon Atanasyan2014-06-241-2/+40
| | | | | | | | | target triples. The patch fixes the bug #19869. http://llvm.org/bugs/show_bug.cgi?id=19869 llvm-svn: 211619
* Use lowercase windows.h for mingw cross compilation.Logan Chien2014-06-241-1/+1
| | | | llvm-svn: 211604
* [mips] Correct linux dynamic linker for -mnan=2008Daniel Sanders2014-06-242-5/+25
| | | | | | | | | | | | Summary: The dynamic linker is named ld-linux-mipsn8.so.1 when -mnan=2008 is given (or is the default). It remains ld.so.1 for other cases. This is necessary for MIPS32r6/MIPS64r6 since these ISA's default to -mnan=2008. Differential Revision: http://reviews.llvm.org/D4273 llvm-svn: 211598
* Driver: Restore proper naming of crashdump filesJustin Bogner2014-06-241-1/+2
| | | | | | Based on a review of r211411 by Jordan Rose. llvm-svn: 211572
* Driver: Skip the -ivfsoverlay argument in driver crash diagsJustin Bogner2014-06-221-1/+1
| | | | llvm-svn: 211474
* Enable WindowsToolChain on all native Windows buildsAlp Toker2014-06-221-7/+2
| | | | | | | | Make binaries built by MSVC, mingw and clang functionally equivalent. The checks are trivially performed at runtime to eliminate functional differences between supported configurations that used to be hard-coded. llvm-svn: 211461
* WindowsToolChain: decouple build environment from the toolchainAlp Toker2014-06-221-17/+2
| | | | | | | | | | | Don't try to find the MSVC version that the binaries were built with. Doing so defeats testing by causing invalid test passes on the build servers. Whichever Visual Studio (or clang-cl.exe) edition was used to build the clang package, it's strictly orthogonal and has no relation to software versions available on the user's PC. llvm-svn: 211459
* Make WindowsToolChain portableAlp Toker2014-06-221-10/+19
| | | | | | | | De-conditionalize as much as possible so we can start to fix this code. No change in functionality. llvm-svn: 211458
* Driver: In crashdumps with -fmodule, dump the module dependenciesJustin Bogner2014-06-202-18/+46
| | | | llvm-svn: 211421
* Driver: Record that we're in crashdump and push flags to ConstructJobJustin Bogner2014-06-203-9/+10
| | | | | | | | | | | It's more flexible and arguably better layering to set flags to modify compiling for diagnostics in the CC1 job themselves, rather than tweaking the driver flags and letting them propagate. There is one visible change this causes: crash report files will now get preprocessed names (.i and friends). llvm-svn: 211411
* Driver: Remove some superfluous calls to Arg->claim()Justin Bogner2014-06-201-14/+5
| | | | | | | Args.getLastArg() claims the Arg it returns, so calling claim on these results is unnecessary. llvm-svn: 211403
* [PowerPC] Fix ELF interpreter name for powerpc64le-linuxUlrich Weigand2014-06-201-1/+2
| | | | | | | | | | On PowerPC LE the system uses the /lib64/ld64.so.2 dynamic linker name instead of /lib64/ld64.so.1 (to indicate the ELFv2 ABI version). This fixes the clang driver to pass the appropriate -dynamic-linker setting, and adds some more tests to linux-ld.c. llvm-svn: 211360
* [PowerPC] Add MultiarchIncludeDirs for powerpc64leUlrich Weigand2014-06-201-0/+5
| | | | | | | | | | There was already partial support for multi-arch on powerpc64le, but the MultiarchIncludeDirs setting was missing. This patch adds the appropriate definition, and also extends the linux-header-search.cpp test case to verify an Ubuntu 14.04 powerpc64le tree. llvm-svn: 211359
* Make clang-cl accept .lib inputs (PR20065)Hans Wennborg2014-06-181-0/+34
| | | | | | | | | | Patch by Ehsan Akhgari! (Tiny tweak by me: renamed PathSegment to LibDir.) Differential Revision: http://reviews.llvm.org/D4192 llvm-svn: 211189
* Driver: correct the backend option spellingSaleem Abdulrasool2014-06-181-1/+1
| | | | | | The backend option does not have an '-enable' prefix. llvm-svn: 211177
* Add support for the /Fi argument to clang-cl (PR20036)Hans Wennborg2014-06-171-1/+4
| | | | | | | | Patch by Ehsan Akhgari! Differential Revision: http://reviews.llvm.org/D4143 llvm-svn: 211081
* Use the integrated assembler by default on OpenBSD/powerpc.Brad Smith2014-06-161-0/+6
| | | | llvm-svn: 211075
* Add support for the /EP argument to clang-clHans Wennborg2014-06-132-1/+8
| | | | | | | | | | This maps the /EP argument to both -E and -P. Patch by Ehsan Akhgari! Differential Reviion: http://reviews.llvm.org/D4133 llvm-svn: 210935
* Remove top-level Clang -fsanitize= flags for optional ASan features.Alexey Samsonov2014-06-131-13/+0
| | | | | | | | | | | | | Init-order and use-after-return modes can currently be enabled by runtime flags. use-after-scope mode is not really working at the moment. The only problem I see is that users won't be able to disable extra instrumentation for init-order and use-after-scope by a top-level Clang flag. But this instrumentation was implicitly enabled for quite a while and we didn't hear from users hurt by it. llvm-svn: 210924
* Use dwarf-2 by default on OpenBSD and FreeBSD.Brad Smith2014-06-131-4/+8
| | | | | | | The Tools.cpp part of the patch partially based on a patch from FreeBSD's LLVM tree. llvm-svn: 210883
* Include system_error directly.Rafael Espindola2014-06-121-2/+1
| | | | llvm-svn: 210802
* Replace llvm::error_code with std::error_code.Rafael Espindola2014-06-123-5/+4
| | | | llvm-svn: 210780
* Driver: use more range-based for loopsSaleem Abdulrasool2014-06-121-145/+67
| | | | | | | Mechanical change converting some of the simpler for loops into range-based for loops. NFC. llvm-svn: 210738
* clang-cl: accept the /C option with /P (PR19978)Hans Wennborg2014-06-111-3/+7
| | | | | | (It's also allowed with /EP, but we haven't implemented that option yet.) llvm-svn: 210695
* Driver: add -m{,no-}long-calls supportSaleem Abdulrasool2014-06-071-0/+11
| | | | | | | | | | | | | This mirrors the GCC option for the ARM backend. This option enables the backend option "-enable-arm-long-calls". The default behaviour is that this is disabled due to the slight overhead of the generated calls. If the target of jumps are greater than 64M range of offset-based jumps, then the target address must be loaded into a register to make an indirect jump. The backend support for this has been present, but was not previously controllable by the proper flag. llvm-svn: 210398
* Implement -Wframe-larger-than backend diagnosticAlp Toker2014-06-051-0/+7
| | | | | | | | | | | | | | | | | | Add driver and frontend support for the GCC -Wframe-larger-than=bytes warning. This is the first GCC-compatible backend diagnostic built around LLVM's reporting feature. This commit adds infrastructure to perform reverse lookup from mangled names emitted after LLVM IR generation. We use that to resolve precise locations and originating AST functions, lambdas or block declarations to produce seamless codegen-guided diagnostics. An associated change, StringMap now maintains unique mangled name strings instead of allocating copies. This is a net memory saving in C++ and a small hit for C where we no longer reuse IdentifierInfo storage, pending further optimisation. llvm-svn: 210293
* Fix driver warning about -pthread on Android.Evgeniy Stepanov2014-06-051-3/+3
| | | | | | -pthread is no-op on Android. Suppress the unused argument warning. llvm-svn: 210253
* Fix driver warning about -shared-libasan on Android.Evgeniy Stepanov2014-06-051-2/+2
| | | | | | | Asan runtime library is always shared on Android, and -shared-libasan is no-op. Suppress the unused argument warning. llvm-svn: 210252
* [ubsan] Don't add a --dynamic-list for ubsan symbols when building a sharedRichard Smith2014-06-041-2/+8
| | | | | | | | | library. That results in the linker resolving all references to weak symbols in the DSO to the definition from within that DSO. Ironically, this rarely causes observable problems, except that it causes ubsan's own dynamic type check to spuriously fail (because we fail to properly merge type_info object names). llvm-svn: 210220
* Remove the last remaining llvm/Config/config.h includesAlp Toker2014-06-042-8/+2
| | | | | | | | | | | | This corrects long-standing misuses of LLVM's internal config.h. In most cases the public llvm-config.h header was intended and we can now remove the old hacks thanks to LLVM r210144. The config.h header is private, won't be installed and should no longer be included by clang or other modules. llvm-svn: 210145
* Add flags -Rpass-missed and -Rpass-analysis.Diego Novillo2014-05-291-0/+6
| | | | | | | | | | | | | | | | | | | | | | Summary: These two flags are in the same family as -Rpass, but are used in different situations. -Rpass-missed is used by optimizers to inform the user when they tried to apply an optimization but couldn't (or wouldn't). -Rpass-analysis is used by optimizers to report analysis results back to the user (e.g., why the transformation could not be applied). Depends on D3682. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3683 llvm-svn: 209839
* Make the -mno-global-merge option work for arm64/aarch64. rdar://17024719Bob Wilson2014-05-291-0/+8
| | | | llvm-svn: 209836
* -pthread does not translate to -lpthread on Android.Evgeniy Stepanov2014-05-281-2/+3
| | | | | | | There is no libpthread.so, and pthread interface is implemented in libc.so. This mirrors gcc behavior. llvm-svn: 209731
* AArch64/ARM64: rename ARM64 components to AArch64Tim Northover2014-05-242-17/+31
| | | | | | This keeps Clang consistent with backend naming conventions. llvm-svn: 209579
* AArch64/ARM64: update Clang after AArch64 removal.Tim Northover2014-05-241-22/+0
| | | | | | | | | | | A few (mostly CodeGen) parts of Clang were tightly coupled to the AArch64 backend. Now that it's gone, they will not even compile. I've also deduplicated RUN lines in many of the AArch64 tests. This might improve "make check-all" time noticably: some of those NEON tests were monsters. llvm-svn: 209578
* Don't reduce the stack protector level given -fstack-protector.Rafael Espindola2014-05-221-3/+4
| | | | | | | | | Before -fstack-protector would always force a level of 1, even if the default was 2. Patch by Brad Smith. llvm-svn: 209479
* Unify the name of compiler-rt builtins library on Linux.Alexey Samsonov2014-05-221-3/+4
| | | | | | | | | | Call it "libclang_rt.builtins-<arch>.a" to be consistent with sanitizers/profile libraries naming. Modify Makefile and CMake build systems and Clang driver accordingly. Fixes PR19822. llvm-svn: 209474
* MachO: look for nearby tools on all MachO platforms.Tim Northover2014-05-221-8/+8
| | | | | | | | | | | | | This brings "-arch armv7m" (etc) behaviour more in line with what's expected for developers on OS X, and allows Clang to find an "ld" (for example) in the same directory instead of using the default /usr/bin/ld. Unfortunately no test because it relies on the specific place Clang is running from. rdar://problem/16427320 llvm-svn: 209437
* Revert "TMP"Tim Northover2014-05-221-8/+8
| | | | | | This reverts r209433. Sorry about that, it needs a test & better message. llvm-svn: 209435
* MachO: perform ARM ABI detection even for non-Darwin triples.Tim Northover2014-05-221-1/+1
| | | | | | | | When "-arch armv7m" is specified, we want "aapcs", for example. rdar://problem/16581138 llvm-svn: 209434
* TMPTim Northover2014-05-221-8/+8
| | | | llvm-svn: 209433
* Use stack protector strong by default on OpenBSD.Rafael Espindola2014-05-221-1/+1
| | | | | | | | | Use stack protector strong by default to match the base OS and ports/packages compiler policy. Patch by Brad Smith. llvm-svn: 209432
* Pass -gdwarf-N options to integrated assemblerOliver Stannard2014-05-191-0/+9
| | | | llvm-svn: 209124
* Driver: force restricted IT blocks for Windows on ARMSaleem Abdulrasool2014-05-181-0/+5
| | | | | | | Windows on ARM expects ARMv8 (restricted IT) conditional instructions only. Force enable the restricted IT mode via the backend option when targeting WoA. llvm-svn: 209086
* [C++11] Use 'nullptr'. Driver edition.Craig Topper2014-05-177-66/+69
| | | | llvm-svn: 209069
* InstrProf: Look for the PIC-version of the profile runtimeDuncan P. N. Exon Smith2014-05-161-1/+8
| | | | | | | | If `-shared` is specified, pull in a PIC-version of the profile runtime, which was added to compiler-rt in r208947. I'm hoping this will get the bots on my side. llvm-svn: 208948
* Eliminate DefaultImageName from the Driver constructorAlp Toker2014-05-151-2/+1
| | | | | | | | | | | | All callers were passing in "a.out" or garbage so a sensible default works fine here as a cleanup. This also brings about the possibility of adapting the value based on the driver's compatibility mode in future. The setting can still be changed via Driver::DefaultImageName as needed. llvm-svn: 208926
OpenPOWER on IntegriCloud