aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver
AgeCommit message (Collapse)Author
2012-03-13[driver] Clang should report an error for -faltivec on non-ppc.Chad Rosier
rdar://10963572 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152684 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-13[driver] Parse diagnostic args in the driver.Chad Rosier
Previously, only diagnostics thrown by the cc1 process were actually honoring the diagnostic options given on the command line, like -Werror. Reuse the existing code in Frontend currently used for cc1, adjusting it to not interpret -Wl, linker flags as warnings. Also fix a faulty test exposed by this change. It wasn't actually testing anything, and was giving this warning: clang-3: warning: argument unused during compilation: '-verify' Which -Werror didn't turn into an error because it was output by the driver, not the cc1 process, and diagnostic options weren't parsed by the driver. And you couldn't see the warning when running the test suite. Fixes PR12181. Patch by Dylan Noblesmith <nobled@dreamwidth.org>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152660 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-13Tweak linkage order for solaris.David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152627 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-13[msvc] Honor %INCLUDE%. It should know essential search paths with ↵NAKAMURA Takumi
vcvarsall.bat. FYI, On VS10, %INCLUDE% contains; (VS10)\VC\INCLUDE (VS10)\VC\ATLMFC\INCLUDE (SDK70A)\include On VS11, (VS11)\VC\INCLUDE (VS11)\VC\ATLMFC\INCLUDE (SDK80)\include\shared (SDK80)\include\um (SDK80)\include\winrt FIXME: It may be enabled also on mingw. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152589 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-12Address some of the concerns by Chandler.Bill Wendling
* s/AddDirectoryList/addDirectoryList/ * Move the call to ::getenv into the function. * FileCheck-ize the testcase. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152583 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-12Update FIXME.Bill Wendling
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152579 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-12Have clang pay attention to the LIBRARY_PATH environment variable.Bill Wendling
The LIBRARY_PATH environment variable should be honored by clang. Have the driver pass the directories to the linker. <rdar://problem/9743567> and PR10296. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152578 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-10Use VersionTuple to manage macosx versions in the driver. No functionality ↵Benjamin Kramer
change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152504 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-09Update comment after r152140. Clarify a bit too.Nico Weber
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152441 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-08[analyzer] Rework inlining related command line options.Anna Zaks
- Remove -analyzer-inline-call. - Add -analyzer-ipa=[none|inlining] - Add -analyzer-inlining-mode to allow experimentation for different performance tuning methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152351 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-08Implement -fno-dwarf2-cfi-asm on linux too.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152316 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-07[driver] Don't try to generate diagnostic information for linker crashes.Chad Rosier
rdar://10993648 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152180 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06Whitespace.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152159 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06[driver] What was implemented in r152130 was actually -fno-inline-functions, notChad Rosier
-fno-inline. Part of rdar://10972766 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152145 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06Add new code migrator support for migrating existing Objective-C code to useTed Kremenek
the new Objective-C NSArray/NSDictionary/NSNumber literal syntax. This introduces a new library, libEdit, which provides a new way to support migration of code that improves on the original ARC migrator. We now believe that most of its functionality can be refactored into the existing libraries, and thus this new library may shortly disappear. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152141 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06Enable default @synthesize by default.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152140 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06Add clang support for new Objective-C literal syntax for NSDictionary, NSArray,Ted Kremenek
NSNumber, and boolean literals. This includes both Sema and Codegen support. Included is also support for new Objective-C container subscripting. My apologies for the large patch. It was very difficult to break apart. The patch introduces changes to the driver as well to cause clang to link in additional runtime support when needed to support the new language features. Docs are forthcoming to document the implementation and behavior of these features. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152137 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-06[driver] Add support for -fno-inline.Chad Rosier
rdar://10972766 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152130 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-01[analyzer] Turn inlining on by default for better testing exposure.Anna Zaks
Fix a test, which was most likely an unintended recursive call. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151848 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-01Add a flag -fthread-sanitizer.Kostya Serebryany
This flag enables ThreadSanitizer instrumentation committed to llvm as r150423. The patch includes one test for -fthread-sanitizer and one similar test for -faddress-sanitizer. This patch does not modify the linker flags (as we do it for -faddress-sanitizer) because the run-time library is not yet committed and it's structure in compiler-rt is not 100% clear. The users manual wil be changed in a separate commit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151846 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-29Add -C when linking on Solaris so that the error messages are understandable ↵David Chisnall
by actual humans. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151726 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-29[driver] Emit an error when trying to use ARC on macosx earlier than 10.6Argyrios Kyrtzidis
rdar://10459258 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151706 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-28Add -lm by default on Solaris.David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151653 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-28It turns out -fno-cxa-atexit just produces broken code, so disable it on ↵David Chisnall
Solaris and we'll ship a __cxa_atexit implementation... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151648 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-28Some more Solaris fixes. Now successfully building libc++ on Solaris with ↵David Chisnall
clang (and linking clang against it). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151632 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-27Re-enable the Darwin ARM integrated assembler.Jim Grosbach
All known nightly-test failures are fixed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151595 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26A follow-up to r151482 which added support for powerpc and powerpc64Chandler Carruth
Debian multiarch libraries, this should in theory add support for those platform's header search rules. I don't have a system to check this with, so review appreciated. I've added the corresponding tests referring to the debian multiarch tree. We are starting to have a relatively completely tested Linux platform for header search and library search, with several interesting peculiarities. We should point people at the debian_multiarch_tree when suggesting new tests. Folks with Debian systems that can check this for correctness, it would be much appreciated. The missing chunks I know of are testing bi-arch peudo-cross-compiling toolchains betwen 32-bit and 64-bit variants of platforms, and the MIPS and ARM Debian toolchains. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151484 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-26Add support for PPC and PPC64 multiarch toolchains on Debain.Chandler Carruth
Patch from Michel Dänzer, sent our way via Jeremy Huddleston who added 64-bit support. I just added one other place where powerpc64-linux-gnu was missing (we only had powerpc64-unknown-linux-gnu). I've also added a tree to test out the debian multiarch stuff. I don't use debian regularly, so I'm not certain this is entirely accurate. If anyone wants to check it against a debian system and fix any inaccuracies, fire away. This way at least folks can see how this is *supposed* to be tested. It'd be particularly good to get the Debian MIPS toolchains tested in this way. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151482 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-25Temporarily revert r151288:Chad Rosier
ARM: enable the integrated assembler by default for Darwin. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151454 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-23ARM: enable the integrated assembler by default for Darwin.Jim Grosbach
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151288 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-22Revert part of r148839 and keep DefaultTargetTriple in the form adjustedJoerg Sonnenberger
by -target and similar options. As discussed in PR 12026, the change broke support for target-prefixed tools, i.e. calling x86_64--linux-ld when compiling for x86_64--linux. Improve the test cases added originally in r149083 to not require execution, just executable files. Document the hack with appropiate FIXME comments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151185 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-22[driver] Add a warning for when -mcpu= is specified without an argument. ThereChad Rosier
are likely many other OPT_xxxx_EQ options that could/should be added here. rdar://10704648 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151174 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-22Provide a way to disable auto-generation of preprocessed files during clang Chad Rosier
crash. This can speedup the process of generating a delta reduced test case. rdar://10905465 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@151109 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-20Fixing the working-directory option so that it stores the proper directory.Aaron Ballman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150960 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-19Implement a -gcc-toolchain command line option that does the same asRafael Espindola
configure's --with-gcc-toolchain. The configure option is now just a default value for the command line one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150898 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-18Default to not using __cxa_atexit on Solaris.David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150883 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-16Tweak link order on Solaris so that global ctors work.David Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150696 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-15Remove the unuseful -fdiagnostics-show-nameDavid Blaikie
This option was added in r129614 and doesn't have any use case that I'm aware of. It's possible that external tools are using these names - and if that's the case we can certainly reassess the functionality, but for now it lets us shave out a few unneeded bits from clang. Move the "StaticDiagNameIndex" table into the only remaining consumer, diagtool. This removes the actual diagnostic name strings from clang entirely. Reviewed by Chris Lattner & Ted Kremenek. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150612 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-15Add some Solaris include paths and fix a -lgcc_eh that apparently should be ↵David Chisnall
-lgcc_s. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150602 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-15Fix copy-and-paste error in commentDavid Chisnall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150587 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-15First pass at Solaris toolchain support. This version compiles and links helloDavid Chisnall
world on Solaris 11 for both x86 and x86-64 using the built-in assembler and Solaris (not GNU) ld, however it currently relies on a hard-coded GCC location to find crtbegin.o and crtend.o, as well as libgcc and libgcc_eh. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150580 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-14include clang's config.h unconditionally (v2)Dylan Noblesmith
And remove HAVE_CLANG_CONFIG_H, now that the header is generated in the autoconf build, too. Reverts r149571/restores r149504, now that config.h is generated correctly by LLVM's configure in all build configurations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150487 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-13When generating diagnostic information due to a clang failure, allow multipleChad Rosier
-arch options if the're all the same. Patch by Jeremy Huddleston. rdar://10849701 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150403 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-13Delete a simplistic helper function now that llvm::Triple can provideChandler Carruth
this functionality. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150358 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-11Begin refactoring to use the newly added triple predicates forChandler Carruth
simplicity. Also addresses a FIXME, although not one that could be observed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150294 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-10Have the driver pass CPU and target feature information to cc1as.Jim Grosbach
When creating the MCSubtargetInfo, the assembler driver uses the CPU and feature string to construct a more accurate model of what instructions are and are not legal. rdar://10840476 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150273 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-09Correct comment Clang C++ use in production.David Blaikie
This was from way-back-when (r82583) when Clang's C++ support wasn't prime-time yet. Production quality C++ was tested experimentally from r100119 and turned on by default in r141063. Patch by Justin Bogner. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150148 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-07Filter a few more options not recognized by gcc. <rdar://problem/10814020>Bob Wilson
These are new options that gcc doesn't recognize so the clang driver needs to remove them when it falls back to invoking gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149951 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06Rewrite the debug action handling to take -verify into account.Eric Christopher
Add a quiet option for dwarfdump and move it out of NDEBUG only. Still requires an option as we don't want this on by default. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149894 91177308-0d34-0410-b5e6-96231b3b80d8
2012-02-06Update the command line here and update the comment, we're just goingEric Christopher
to leave this as a debug only option for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@149890 91177308-0d34-0410-b5e6-96231b3b80d8