aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver
AgeCommit message (Collapse)Author
2012-01-12Adjust set of default checkers.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@148055 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-11Fix -mfpu parsing on ARM.Evgeniy Stepanov
- Support gcc-compatible vfpv3 name in addition to vfp3. - Support vfpv3-d16. - Disable neon feature for -mfpu=vfp* (yes, we were emitting Neon instructions for those!). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147943 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-11Revert changes to lib/Driver in r147917; I didn't mean to commit this.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147920 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-11Start refactoring code for capturing variables and 'this' so that it is ↵Eli Friedman
shared between lambda expressions and block literals. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147917 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-10Add support for the androideabi environment to our triple support, andChandler Carruth
for the arm-linux-androideabi triple in particular. Also use this to do a better job of selecting soft FP settings. Patch by Evgeniy Stepanov. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147872 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-10Add -g to the cc1as flags only if we're dealing with an originalEric Christopher
source file. Otherwise -g -save-temps will error out on the compile of any .c file. Fixes about 4000 of the errors in the clang-tests gdb test suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147819 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-10Remove extraneous braces.Eric Christopher
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147818 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-06Revert r147664; it's breaking clang regression tests.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147681 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-06Silence GCC warnings.Jakub Staszak
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147664 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-04Driver/Darwin: Remove a hack that avoided passing -demangle to iOS linkers.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147552 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-03Fixed by Chandler in r147434.Chad Rosier
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147489 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-03Add -fno-modules to the driver, to turn off modules (although they're off by ↵Douglas Gregor
default anyway). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147449 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-03Rename the command-line option for mapping #include/#import over toDouglas Gregor
module imports from -fauto-module-import to -fmodules. The new name will eventually be used to enable modules, and the #include/#import mapping is a crucial part of the feature. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147447 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-02Fix PR11685 by implementing -ffast-math and its various friends in theChandler Carruth
Clang driver. This involves a bunch of silly option parsing code to try to carefully emulate GCC's options. Currently, this takes a conservative approach, and unless all of the unsafe optimizations are enabled, none of them are. The fine grained control doesn't seem particularly useful. If it ever becomes useful, we can add that to LLVM first, and then expose it here. This also fixes a few tiny bugs in the flag management around -fhonor-infinities and -fhonor-nans; the flags now form proper sets both for enabling and disabling, with the last flag winning. I've also implemented a moderately terrifying GCC feature where a language change is also provided by the '-ffast-math' flag by defining the __FAST_MATH__ preprocessor macro. This feature is tracked and serialized in the frontend but it isn't used yet. A subsequent patch will add the preprocessor macro and tests for it. I've manually tested that codegen appears to respect this, but I've not dug in enough to see if there is an easy way to test codegen options w/o relying on the particulars of LLVM's optimizations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147434 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-28Handle a /etc/debian_version with a version number instead of a codename.Rafael Espindola
Patch by Sylvestre Ledru. Fixes PR11673. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147313 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-26Fix potential use after free.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147277 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-23fix for PR11634Anton Yartsev
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147224 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-22Last part of support for generating dwarf for assembly source files. This getsKevin Enderby
the clang driver to enable this when assembling a .s file. rdar://9275556 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147167 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-20Unweaken vtables as per ↵David Blaikie
http://llvm.org/docs/CodingStandards.html#ll_virtual_anch git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146959 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-17Split the Windows toolchain definition into its own file. This isChandler Carruth
especially nice as the Windows toolchain needs the windows header files, and has lots of platform specific hooks in it. To facilitate the split, hoist a bunch of file-level static helpers into class-level static helpers. Spiff up their doxygen comments while there as they're now more likely to be looked up via docs. Hopefully, this will be followed by further breaking apart of the toolchain definitions. Most of the large and complex ones should likely live on their own. I'm looking at you Darwin. ;] git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146840 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-17Fix an abiguous-else warning from GCC. I have no idea why Clang doesn'tChandler Carruth
have this warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146839 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-16C++11 constexpr: Add note stacks containing backtraces if constant evaluationRichard Smith
fails within a call to a constexpr function. Add -fconstexpr-backtrace-limit argument to driver and frontend, to control the maximum number of notes so produced (default 10). Fix APValue printing to be able to pretty-print all APValue types, and move the testing for this functionality from a unittest to a -verify test now that it's visible in clang's output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146749 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-15gcov-style profiling support for OpenBSD. Patch by Jonathan Gray.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146631 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-14Fix typos.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146595 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-14Don't use the frame pointer on linux x86 and x86_64 if optimizing. ThisRafael Espindola
matches gcc's behavior. Fixes PR8186. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146586 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-14Enable stack protectors by default for iOS. <rdar://problem/8836680>Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146552 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12Fix "control may reach end of non-void function" warning.Nick Lewycky
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146448 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-12Hexagon backend supportTony Linthicum
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146413 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09Driver: Handle -f{no-}honor-infinities, -f{no-}honor-nans, andDaniel Dunbar
-ffinite-math-only. - No test case yet, I don't know how to construct a situation where this matters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146297 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-09Fix the --hash-style option when the target is MIPS as it isChandler Carruth
incompatible with the MIPS ABI. Patch by Simon Atanasyan. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146243 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Misc Minix-specific changes to clang:Eli Friedman
. move compiler-rt to a separate directory so the -L argument only includes compiler-rt (thanks joerg) . build all clang subdirs . switches the Minix platform to ELF . normalizes toolchain invocation Patch by Ben Gras. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146206 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Allow clang to find gcc libs on suse ppc64Hal Finkel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146142 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-08Minor cleanup. Avoid redundant getTriple() calls.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146122 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Driver/Linux: Fix the ASAN library path to match current compiler-rtDaniel Dunbar
integration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146098 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Driver: Add a --rtlib={compiler-rt,libgcc} argument which I plan to use to allowDaniel Dunbar
dual support for compiler-rt on Linux, during bringup. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146094 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-07Fix multilib library paths on ppc64 Linux. Patch by Michael Kostylev. PR11472.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146016 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06[asan] Mac: do not link dynamic libs with the asan-rt, use -undefined ↵Kostya Serebryany
dynamic_lookup for dynamic libs. Style fixes. Patch by glider@google.com git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145955 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-06Stack realignment is a tristate. Add -mno-stackrealign to turn off all stackNick Lewycky
realignment, even with locals with alignment exceeding the ABI guarantee. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145909 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-05Add -mstack-alignment=X and fix -mstackrealign handling now that theJoerg Sonnenberger
backend options are gone. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145868 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-05[asan] don't require libstdc++ for asan on linux. Mac fix will go separatelyKostya Serebryany
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145823 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01Driver/Darwin: Add ASAN runtime library link support.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145651 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-30Get the -march argument based on the target MIPS architecture or cpu and passAkira Hatanaka
it to GNU assembler. In addition, change function getMipsArchFromCPU() so that it can be reused in ConstructJob(). Patch by Simon Atanasyan. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145509 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-30when -faddress-sanitizer is present, add required flags to the linker ↵Kostya Serebryany
command (linux-only) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145467 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29Change processor names. Patch by Simon Atanasyan.Akira Hatanaka
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145453 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29[Win32] Catch exceptions (eg. segfault) on waiting for invoked clang from ↵NAKAMURA Takumi
the driver. clang/lib/Driver/Driver.cpp: Don't pass through negative exit status, or parent would be confused. llvm::sys::Program::Wait(): Suppose 0x8000XXXX and 0xC000XXXX as abnormal exit code and pass it as negative value. Win32 Exception Handler: Exit with ExceptionCode on an unhandle exception. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145389 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-28A couple driver fixes for PPC Linux. Patches by Michael Kostylev. ↵Eli Friedman
PR11444/PR11445. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145321 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-21Add driver arguments -ftemplate-depth=N and -fconstexpr-depth=N, with the sameRichard Smith
semantics and defaults as the corresponding g++ arguments. The historical g++ argument -ftemplate-depth-N is kept for compatibility, but modern g++ versions no longer document that option. Add -cc1 argument -fconstexpr-depth N to implement the corresponding functionality. The -ftemplate-depth=N part of this fixes PR9890. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145045 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-21Change the linker emulation name for FreeBSD/PPC32.Roman Divacky
Submitted by Andreas Tobler! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145041 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-21Teach the driver about failure result files, which are compilationPeter Collingbourne
output files that are valid regardless of whether the compilation succeeded or failed (but not if we crash). Add depfiles to the failure result file list. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145018 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-19Driver: Remove the signal number from the "command failed" diagnostic.Benjamin Kramer
- With the current implementation of sys::Program this always printed "2". - The command execution code will output the right number anyway (including the signal name). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144993 91177308-0d34-0410-b5e6-96231b3b80d8