aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Tools.cpp
AgeCommit message (Collapse)Author
2011-04-11fix the path to ld.so for darwin/ppc, resolving PR9677. PatchChris Lattner
by Jeremy Huddleston! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129299 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-09refactor -ccc-gcc-name codeDylan Noblesmith
Put the logic for deciding the default name for gcc/g++ in the only place that actually cares about it. This also pushes an ifdef out of the generic driver code to a little further down, when the target is actually known. Hopefully it can be changed into just a runtime check in the future. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129212 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-08Rename -mtrap_function= to -ftrap_function= since it's now a target neutral ↵Evan Cheng
options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129153 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-08Add -mtrap_function=<> option. rdar://9257465Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129145 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-08fix a typo, patch by PaX team.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129141 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-07Driver: Don't attempt to forward some Clang-only options to cc1.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129108 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-07Driver: Sketch driver support for a CC_LOG_DIAGNOSTICS options, similar to theDaniel Dunbar
existing CC_PRINT_OPTIONS and CC_PRINT_HEADERS, which can be used to transparently capture the compiler diagnostics from a build. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129082 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-05Add ToolChain support to get Clang to recognize Ubuntu/ppc and Gentoo/ppc64.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128944 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-01Driver/Darwin: Tweak simulator link logic a bit more to be closer to GCC.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128738 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-31Driver/Darwin: Tweak link logic for simulator.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128641 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-28Integrated-As: Support -Wa,-L when using the integrated assembler.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128433 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-27Add an option to suppress include stack printing on note diagnostics.Chandler Carruth
These stacks are often less important than those on primary diagnostics. As the number of notes grows, this becomes increasingly important. The include stack printing is clever and doesn't print stacks for adjacent diagnostics from the same file, but when a note is in between a sequence of errors in a header file, and the notes all refer to some other file, we end up getting a worst-case ping-pong of include stacks that take up a great deal of vertical space. Still, for now, the default behavior isn't changed. We can evaluate user feedback with the flag. Patch by Richard Trieu, a couple of style tweaks from me. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128371 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-27Add -f[no-]strict-overflow to the Clang driver. Use it to set theChandler Carruth
default for -fwrapv if that flag isn't specified explicitly. We always prefer an explict setting of -fwrapv when present. Also adds support for -fno-wrapv to allow disabling -fwrapv even when -fno-strict-overflow is passed. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128353 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-24Rework checker "packages" and groups to be more hierarchical.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128187 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-22Frontend: Add a more explicit -backend-option flag for passing backend commandDaniel Dunbar
line options, instead of leveraging the blanket -mllvm option. - This allows using the frontend itself without requiring the backend have those options available (i.e., if the target wasn't built). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128087 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-21Add clang support for cortex-m0 cpus. Patch by James Orr.Bob Wilson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@128018 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-21Introduce FindTargetProgramPath to check for a target-specific helperJoerg Sonnenberger
program and fallback to plain version otherwise. Use this for the NetBSD target to make it try e.g. i486--netbsdelf-as and -ld for target i486--netbsdelf. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127996 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-21Remember sysroot in Driver. Pass it down to ld for NetBSD, FreeBSDJoerg Sonnenberger
and DragonFly. Use the --sysroot= form for Linux. Fix handling of = prefix for -B. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127994 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-18Driver: Forward -traditional and -traditional-cpp in preprocessing modes.Daniel Dunbar
- We don't really support the majority of the horrible -traditional-cpp behavior, but it is unlikely that we ever will either. This allows us to start trying to use clang as a /usr/bin/cpp replacement and see what pieces of -traditional-cpp mode people actually care about. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127911 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-18The Darwin kernel does not provide useful guard variable support.John McCall
Issue this as an IR-gen error; it's not really worthwhile doing this "right", i.e. in Sema, because IR gen knows a lot of tricks beyond what the constant evaluator knows. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127854 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-17Driver/Obj-C: Be compatible with GCC behavior in that -fno-exceptions *does not*Daniel Dunbar
disable Obj-C exceptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127836 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-17Driver/Darwin: These are command line options, not target features.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127820 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-17Driver/Darwin: Suppress spurious warning about -force_cpusubtype_ALL.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127819 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-17Driver/Darwin/ARM: Kernel/kext code has more strict alignment requirements.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127815 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-17Driver/ARM: Match GCC behavior in that -msoft-float disables NEON, despite thisDaniel Dunbar
not being consistent at all with other parts of the GCC implementation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127777 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-12Re-enable the IdempotentOperations checker for --analyze, and put it and the ↵Ted Kremenek
DeadStores checker into the "deadcode" group. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127531 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-06If called as *cpp or *cpp-[^-]*, run only the preprocessor. If noJoerg Sonnenberger
input is specified, use stdin implicitly. Based on a patch from Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127137 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-06Fix driver for thumb-capable ARM hosts, from Mikko Lehtonen!Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127128 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-02build: Allow disabling movt/movw from build, for testing purposes.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126810 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-01Driver/Darwin: Be bug compatible with GCC and ignore -pg on ARM.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126767 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-01The default CPU on FreeBSD for i386 should be i486, not pentium4.Roman Divacky
Patch by Dimitry Andric! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126763 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-01For linking on FreeBSD, don't add a hardcoded "-L/usr/lib", butRoman Divacky
retrieve the library paths from the ToolChain object instead. Copy the relevant code from linuxtools::Link::ConstructJob(), and replace the std::string stuff with llvm::StringRef, while we're here. Patch by Dimitry Andric! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126757 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-01Implement -mrtd which sets the StdCall calling convention to be the defaultRoman Divacky
one. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126756 91177308-0d34-0410-b5e6-96231b3b80d8
2011-03-01Disable more warnings so that it is safe to useRafael Espindola
CC="clang -use-gold-plugin -emit-llvm" CXX="clang++ -use-gold-plugin -emit-llvm" git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126740 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-28Don't warn about "clang -use-gold-plugin -c ...". With this users can sayRafael Espindola
CC="clang -use-gold-plugin" CFLAGS=-emit-llvm ../configure... and not be hit with a warning for each .c file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126713 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-28[analyzer] Remove '-analyzer-check-objc-mem' flag, the nominee for best ↵Argyrios Kyrtzidis
misnomer award. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126676 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-28Make -fobjc-nonfragile-abi and -fgnu-runtime imply -fblocks (unless ↵David Chisnall
-fno-blocks is specified), because this combination of flags defines an Objective-C runtime that includes a blocks runtime. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126654 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-28Fix a tiny goof in the Driver's logic which caused the explicit presenceChandler Carruth
of -fexceptions to disably C++ exceptions. The correct code was in the ObjC branch, this just mirrors that logic on the C++ side of things. Thanks to John Wiegley for pointing this out. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126640 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-28Add a -fcxx-exceptions flag to the frontend, which can be used to enableAnders Carlsson
C++ exceptions, even when exceptions have been turned off using -fno-exceptions. Make the -fobjc-exceptions flag do the same thing, but for Objective-C exceptions. C++ and Objective-C exceptions can also be disabled using -fno-cxx-excptions and -fno-objc-exceptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126630 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-28[analyzer] Move the DeadStores checker out of the 'core' package.Argyrios Kyrtzidis
-Now it gets enabled with '-analyzer-checker=DeadStores'. -The driver passes the above flag by default. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126612 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-28Factor code out into a helper function, ↵Anders Carlsson
shouldUseExceptionTablesForObjCExceptions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126601 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-22Make clang -cc1 disable Objective-C exceptions by default, and add a ↵Anders Carlsson
-fobjc-exceptions flag to turn them on. Update all tests accordingly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126177 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-21Pass the right linker flag in openbsd::Link::ConstructJob,Chris Lattner
patch by Matthew Dempsky! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126133 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-19Add a new ObjCExceptions member variable to LangOptions. This controls ↵Anders Carlsson
whether Objective-C exceptions are enabled or not (they are by default). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126061 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-19[analyzer] '-analyzer-check-objc-mem' can go through the llvm/clang codebase ↵Argyrios Kyrtzidis
without crashing; enable it for C++. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126026 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-19Driver/Darwin: Support -Wl, with -Xarch_. This doesn't work naturally because ofDaniel Dunbar
the special way we model "linker input" arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126023 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-17[analyzer] Use the new registration mechanism on the ↵Argyrios Kyrtzidis
non-path-sensitive-checkers: DeadStoresChecker ObjCMethSigsChecker ObjCUnusedIvarsChecker SizeofPointerChecker ObjCDeallocChecker SecuritySyntaxChecker git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125779 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-17Triple::MinGW64 is deprecated and removed. We can use Triple::MinGW32 instead.NAKAMURA Takumi
No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125742 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-17Fix whitespace.NAKAMURA Takumi
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125741 91177308-0d34-0410-b5e6-96231b3b80d8
2011-02-15[analyzer] Use the new registration mechanism on the IdempotentOperationChecker.Argyrios Kyrtzidis
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@125611 91177308-0d34-0410-b5e6-96231b3b80d8