aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver
AgeCommit message (Collapse)Author
2010-02-19Enable -mconstructor-aliases by default on non-darwin platforms.John McCall
The linker bug holding this back is Darwin-specific. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96655 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17PR5803: clang++: Treat untyped 'C' inputs as C++.Daniel Dunbar
- Patch by Andrzej K. Haczewski, with a tweak by me to emit a 'deprecated' diagnostic when we do this. We'll see what zee users say. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96511 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17Driver: Tweak freebsd::Link, by Roman Divacky.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96469 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-13Raise the responsibility for passing -disable-llvm-verifier in NDEBUG buildsJohn McCall
to the driver, and support it in CodeGenOptsToArgs(). Note that this changes the default behavior of clang -cc1 to always run the verifier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96077 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-11Driver: Fix clang -ccc-no-clang -x c++-header foo.h on Darwin.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95876 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-11Driver: Add -rewrite-objc, which is an interface to clang -cc1 -rewrite-objc.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95849 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-11Driver: Fix infinite loop and wrong message on invalid -ccc-clang-arch argument.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95848 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10Switch to using -fsjlj-exceptions instead of hard-coding it. Notably, this fixesDaniel Dunbar
calls to the UnwindResumeOrRethrow function for C++/Obj-C exception handling, for Darwin ARM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95787 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-06Add support for threadsafe statics, and make them the default (matching gcc).Anders Carlsson
Daniel, I'd appreciate a review of the driver/cc1 parts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95508 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-05Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95348 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-05Rename -cc1 option '-warn-objc-missing-dealloc' to ↵Ted Kremenek
'-analyzer-check-objc-missing-dealloc'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95347 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-05Rename -cc1 option '-warn-objc-methodsigs' to '-analyzer-check-objc-methodsigs'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95346 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-05Rename -cc1 option '-warn-objc-unused-ivars' to ↵Ted Kremenek
'-analyzer-check-objc-unused-ivars'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95345 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-05Rename -cc1 option '-warn-dead-stores' to '-analyzer-check-dead-stores'.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95343 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-05Rename -cc1 option '-warn-security-syntactic' to ↵Ted Kremenek
'-analyzer-check-security-syntactic'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95342 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-03Driver: Add -[no-]integrated-as for clang.Daniel Dunbar
- Requires backend support, which only exists for i386--darwin currently. No 'as' required: -- ddunbar@ozzy:tmp$ cat t.c int main() { return 42; } ddunbar@ozzy:tmp$ clang -m32 -integrated-as t.c ddunbar@ozzy:tmp$ ./a.out; echo $? 42 ddunbar@ozzy:tmp$ -- The random extra whitespace is how you know its working! :) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95194 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-02Driver/Darwin: Don't error/warn on conflicting deployment targets. ApparentlyDaniel Dunbar
this is still a popular thing to do. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95093 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-01Driver/Darwin: Darwin uses -fobjc-legacy-dispatch on ARM.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95006 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-01Driver/Frontend: Add support for -fobjc-legacy-dispatch, not yet used.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95004 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30Simplify.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94929 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30Use StringRef instead of returning a temporary std::string.Benjamin Kramer
This fixes a really nasty bug in Darwin::getDarwinArchName where we were going StringRef -> temporary std::string -> StringRef (and return the dead StringRef). The StringRefs from Triple live as long as the Triple itself, that should be long enough. Hopefully 2 of 4 MSVC buildbot failures are gone now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94892 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-29Driver: Don't honor -std-default for C++, this makes it hard to run the gdb testDaniel Dunbar
suite with clang++ enabled. The right fix here is PR6175, although we would still have to find a different work around for the gdb test suite. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94838 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-29Driver/Darwin: Fix a crash when diagnosing conflicting deployment targets.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94812 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-28Introduce serialization and deserialization of diagnostic informationDouglas Gregor
so that CIndex can report diagnostics through the normal mechanisms even when executing Clang in a separate process. This applies both when performing code completion and when using ASTs as an intermediary for clang_createTranslationUnitFromSourceFile(). The serialized format is not perfect at the moment, because it does not encapsulate macro-instantiation information. Instead, it maps all source locations back to the instantiation location. However, it does maintain source-range and fix-it information. To get perfect fidelity from the serialized format would require serializing a large chunk of the source manager; at present, it isn't clear if this code will live long enough for that to matter. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94740 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-27Driver/Darwin: Eliminate invalid uses of DarwinVersion -- this fixes a number ofDaniel Dunbar
defaults when targetting iPhoneOS (blocks, non-fragile ABI, stack protector). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94642 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-27Driver/Darwin: Simplify target version checks.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94641 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-27Driver/Darwin: Fix a few link arguments when targetting different iPhoneOSDaniel Dunbar
versions to match gcc (which is matching linker changes). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94640 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-27Driver/Darwin: Switch clang -triple synthesis to use computed target ↵Daniel Dunbar
information. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94639 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-27Driver/Darwin: Eliminate confusing IsIPhoneOS parameter -- this was actuallyDaniel Dunbar
just indicating whether the default target should be iPhoneOS. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94638 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-27Driver/Darwin: Switch to using isTargetIPhoneOS where appropriate.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94637 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-27Driver/Darwin: Track target platform more explicitly in tool chain, eventuallyDaniel Dunbar
this should just be part of the tool chain itself once we have eliminated argument translation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94635 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26Simplify.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94503 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26Driver/Darwin: Honor IPHONEOS_DEPLOYMENT_TARGET.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94488 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-26Driver/Darwin: Stuff iPhoneOS into environment portion of the (llvm/clang) ↵Daniel Dunbar
triple instead of keying off architecture. Also, fix version define to properly include the revision/micro component of the version number. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94487 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25Driver: Fix fallback to gcc to -c instead of -S if trying to generate an LLVM bcDaniel Dunbar
file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94463 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-25ASTUnit: Don't check that input files exist when parsing ASTs from the commandDaniel Dunbar
line -- they may be remapped (fake) files. This is useful for testing parsing entirely from memory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94395 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-24-fno-rtti is now the default.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94379 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-23Rename getClangFullVendorVersion() to getClangFullVersion().Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94273 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22Move version string generation (e.g., "clang 1.1 ...") to ↵Ted Kremenek
libBasic/Version.cpp, getClangFullVendorVersion(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94235 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22(1) Rename getClangSubversionRevision() to getClangRevision(), andTed Kremenek
have it return a StringRef instead of an integer (to be more VCS agnostic). (2) Add getClangFullRepositoryVersion(), which contains an amalgamation of the repository name and the revision. (3) Change PCH to only emit the string returned by getClangFullRepositoryVersion() instead of also emitting the value of getClangSubversionRevision() (which has been removed). This is functionally equivalent. More cleanup to version string generation pending... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94231 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22Rename getClangSubversionPath() -> getClangRepositoryPath() and have it ↵Ted Kremenek
return a StringRef. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94213 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22Driver/Darwin: Update tool chain to use static clang_rt libraries provided byDaniel Dunbar
compiler-rt. This tool chain now works on x86 and ARM, but isn't the x86 default yet. This drastically cleans up the linker invocation, old invocation: -- "/Developer/usr/bin/../libexec/gcc/i686-apple-darwin10/4.2.1/ld" "-dynamic" "-arch" "x86_64" "-macosx_version_min" "10.6.0" "-weak_reference_mismatches" "non-weak" "-o" "a.out" "-lcrt1.10.6.o" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/x86_64" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/x86_64" "-L/usr/lib/i686-apple-darwin10/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1" "-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/../../.." "t.o" "-lSystem" "-lgcc" -- New invocation: -- # For 10.6: "/usr/bin/ld" "-dynamic" "-arch" "x86_64" "-macosx_version_min" "10.6.0" "-o" "a.out" "-lcrt1.10.6.o" "t.o" "-lSystem" # For 10.4: "/usr/bin/ld" "-dynamic" "-arch" "x86_64" "-macosx_version_min" "10.4" "-o" "a.out" "-lcrt1.o" "t.o" "-lSystem" "-lgcc_s.10.4" "/Volumes/Data/ddunbar/llvm.obj.64/Debug/lib/clang/1.1/lib/darwin/libclang_rt.10.4.a" -- git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94150 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22Driver/Darwin/ld: Fix refacto, -force_cpusubtype_ALL should only be forwarded,Daniel Dunbar
not always added. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94149 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22Driver/Darwin/ld: Factor out getDarwinArchName, for getting the "Darwin" archDaniel Dunbar
name being used in an driver invocation. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94139 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22Driver/Darwin/ld: Eliminate AddDarwinSubArch, our linker invocation is going toDaniel Dunbar
diverge from gcc anyway. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94138 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-20Driver: Lift clang resource directory computation to the Driver object.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93971 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-19Fix possible memory leak by using an OwningPtr.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93834 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-18Remove ../libexec from clang program search path, clang-cc is dead.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93749 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-10Fix a FIXME.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93087 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-10Darwin/ld: Don't pass '-weak_reference_mismatches non-weak' whenDaniel Dunbar
-weak_reference_mismatches is not present, it is the default. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93086 91177308-0d34-0410-b5e6-96231b3b80d8