summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add in some more MIPS command line options.Eric Christopher2010-03-021-0/+71
| | | | | | Patch by Oleksandr Tymoshenko! llvm-svn: 97544
* Unconditionally support block introspection data in a new field at the endBlaine Garst2010-02-231-1/+0
| | | | | | | | | | | | | | | of the block descriptor field. This field is the ObjC style @encode signature of the implementation function, and was to this point conditionally provided in the block literal data structure. That provisional support is removed. Additionally, eliminate unused enumerations for the block literal flags field. The first shipping ABI unconditionally set (1<<29) but this bit is unused by the runtime, so the second ABI will unconditionally have (1<<30) set so that the runtime can in fact distinguish whether the additional data is present or not. llvm-svn: 96989
* Enable -mconstructor-aliases by default on non-darwin platforms.John McCall2010-02-191-0/+5
| | | | | | The linker bug holding this back is Darwin-specific. llvm-svn: 96655
* Driver: Tweak freebsd::Link, by Roman Divacky.Daniel Dunbar2010-02-171-2/+4
| | | | llvm-svn: 96469
* Raise the responsibility for passing -disable-llvm-verifier in NDEBUG buildsJohn McCall2010-02-131-0/+5
| | | | | | | to the driver, and support it in CodeGenOptsToArgs(). Note that this changes the default behavior of clang -cc1 to always run the verifier. llvm-svn: 96077
* Driver: Fix clang -ccc-no-clang -x c++-header foo.h on Darwin.Daniel Dunbar2010-02-111-1/+2
| | | | llvm-svn: 95876
* Driver: Add -rewrite-objc, which is an interface to clang -cc1 -rewrite-objc.Daniel Dunbar2010-02-111-1/+16
| | | | llvm-svn: 95849
* Switch to using -fsjlj-exceptions instead of hard-coding it. Notably, this fixesDaniel Dunbar2010-02-101-0/+3
| | | | | | | calls to the UnwindResumeOrRethrow function for C++/Obj-C exception handling, for Darwin ARM. llvm-svn: 95787
* Add support for threadsafe statics, and make them the default (matching gcc).Anders Carlsson2010-02-061-0/+5
| | | | | | Daniel, I'd appreciate a review of the driver/cc1 parts. llvm-svn: 95508
* Rename -cc1 option '-checker-cfref' to '-analyzer-check-objc-mem'.Ted Kremenek2010-02-051-1/+1
| | | | llvm-svn: 95348
* Rename -cc1 option '-warn-objc-missing-dealloc' to ↵Ted Kremenek2010-02-051-1/+1
| | | | | | '-analyzer-check-objc-missing-dealloc'. llvm-svn: 95347
* Rename -cc1 option '-warn-objc-methodsigs' to '-analyzer-check-objc-methodsigs'.Ted Kremenek2010-02-051-1/+1
| | | | llvm-svn: 95346
* Rename -cc1 option '-warn-objc-unused-ivars' to ↵Ted Kremenek2010-02-051-1/+1
| | | | | | '-analyzer-check-objc-unused-ivars'. llvm-svn: 95345
* Rename -cc1 option '-warn-dead-stores' to '-analyzer-check-dead-stores'.Ted Kremenek2010-02-051-1/+1
| | | | llvm-svn: 95343
* Rename -cc1 option '-warn-security-syntactic' to ↵Ted Kremenek2010-02-051-1/+1
| | | | | | '-analyzer-check-security-syntactic'. llvm-svn: 95342
* Driver: Add -[no-]integrated-as for clang.Daniel Dunbar2010-02-031-0/+2
| | | | | | | | | | | | | | | | | | | | - 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! :) llvm-svn: 95194
* Driver/Darwin: Darwin uses -fobjc-legacy-dispatch on ARM.Daniel Dunbar2010-02-011-1/+1
| | | | llvm-svn: 95006
* Driver/Frontend: Add support for -fobjc-legacy-dispatch, not yet used.Daniel Dunbar2010-02-011-1/+13
| | | | llvm-svn: 95004
* Simplify.Daniel Dunbar2010-01-301-2/+1
| | | | llvm-svn: 94929
* Use StringRef instead of returning a temporary std::string.Benjamin Kramer2010-01-301-1/+1
| | | | | | | | | | | 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. llvm-svn: 94892
* Driver: Don't honor -std-default for C++, this makes it hard to run the gdb testDaniel Dunbar2010-01-291-2/+8
| | | | | | | | | 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. llvm-svn: 94838
* Introduce serialization and deserialization of diagnostic informationDouglas Gregor2010-01-281-0/+3
| | | | | | | | | | | | | | | | | 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. llvm-svn: 94740
* Driver/Darwin: Simplify target version checks.Daniel Dunbar2010-01-271-19/+15
| | | | llvm-svn: 94641
* Driver/Darwin: Fix a few link arguments when targetting different iPhoneOSDaniel Dunbar2010-01-271-7/+20
| | | | | | versions to match gcc (which is matching linker changes). llvm-svn: 94640
* Driver/Darwin: Switch clang -triple synthesis to use computed target ↵Daniel Dunbar2010-01-271-31/+17
| | | | | | information. llvm-svn: 94639
* Driver/Darwin: Switch to using isTargetIPhoneOS where appropriate.Daniel Dunbar2010-01-271-4/+4
| | | | llvm-svn: 94637
* Simplify.Daniel Dunbar2010-01-261-14/+5
| | | | llvm-svn: 94503
* Driver/Darwin: Stuff iPhoneOS into environment portion of the (llvm/clang) ↵Daniel Dunbar2010-01-261-27/+33
| | | | | | triple instead of keying off architecture. Also, fix version define to properly include the revision/micro component of the version number. llvm-svn: 94487
* Driver: Fix fallback to gcc to -c instead of -S if trying to generate an LLVM bcDaniel Dunbar2010-01-251-7/+16
| | | | | | file. llvm-svn: 94463
* Driver/Darwin/ld: Fix refacto, -force_cpusubtype_ALL should only be forwarded,Daniel Dunbar2010-01-221-2/+1
| | | | | | not always added. llvm-svn: 94149
* Driver/Darwin/ld: Factor out getDarwinArchName, for getting the "Darwin" archDaniel Dunbar2010-01-221-68/+5
| | | | | | name being used in an driver invocation. llvm-svn: 94139
* Driver/Darwin/ld: Eliminate AddDarwinSubArch, our linker invocation is going toDaniel Dunbar2010-01-221-17/+5
| | | | | | diverge from gcc anyway. llvm-svn: 94138
* Driver: Lift clang resource directory computation to the Driver object.Daniel Dunbar2010-01-201-9/+1
| | | | llvm-svn: 93971
* Darwin/ld: Don't pass '-weak_reference_mismatches non-weak' whenDaniel Dunbar2010-01-101-6/+0
| | | | | | -weak_reference_mismatches is not present, it is the default. llvm-svn: 93086
* implement -ftabstop=width, patch by Christian AdåkerChris Lattner2010-01-091-0/+5
| | | | llvm-svn: 93078
* Use -fno-math-errno by default, and remove the IsMathErrnoDefaultDan Gohman2010-01-081-4/+4
| | | | | | targethook, which is no longer being used. This fixes PR5971. llvm-svn: 92987
* Driver: Drop ToolChain::getHost()Daniel Dunbar2009-12-231-1/+1
| | | | llvm-svn: 91960
* ARM: Honor -mfpu= and set __VFP_FP__ and __ARM_NEON__ "correctly".Daniel Dunbar2009-12-211-0/+29
| | | | | | | | - Correctly is in quotes, because we are following what I interpreted as GCC's intent (which diverges from practice, naturally). - Also, fix the arch define for arm1136jf-s. llvm-svn: 91855
* Add ToolChain::getDriver() and use it instead of going through the HostInfoDaniel Dunbar2009-12-211-15/+14
| | | | | | object. llvm-svn: 91830
* ARM: Use front-end specific target features "soft-float" and ↵Daniel Dunbar2009-12-191-1/+19
| | | | | | "soft-float-abi" to communicate FP mode to target; __SOFTFP__ is set correctly now. llvm-svn: 91755
* clang -cc1: Rename -mcpu to -target-cpu to match other target options and ↵Daniel Dunbar2009-12-181-2/+2
| | | | | | not alias driver/backend option. llvm-svn: 91671
* Add -dwarf-debug-flags, which provides a way to embed the cc1 level options usedDaniel Dunbar2009-12-181-0/+14
| | | | | | | | to compile a translation unit into the debug info for that file. - Used by parts of Darwin build process to check compiler flags, etc. - <rdar://problem/7256886> clang does not emit AT_APPLE_flags llvm-svn: 91661
* Fix -fdollars-in-identifiers Clang translation.Daniel Dunbar2009-12-161-2/+2
| | | | llvm-svn: 91562
* implement PR5654: add -fassume-sane-operator-new, which is enabled by ↵Nuno Lopes2009-12-161-0/+4
| | | | | | | | default, and adds the malloc attribute to the global function new() and to the overloaded new operators. feel free to chage the name to this lengthy argument llvm-svn: 91543
* Driver: Pass -resource-dir to clang -cc1, since the driver presumably ↵Daniel Dunbar2009-12-151-1/+11
| | | | | | already found itself. llvm-svn: 91384
* Implement runtime checks for undefined behavior. WIP.Mike Stump2009-12-121-0/+1
| | | | | | | | | | | | | This implements a new flag -fcatch-undefined-behavior. The flag turns on additional runtime checks for: T a[I]; a[i] abort when i < 0 or i >= I. Future stuff includes shifts by >= bitwidth amounts. llvm-svn: 91198
* Make using '-fshort-enums' an error until it is actually implemented ↵Ted Kremenek2009-12-121-1/+2
| | | | | | (changes the ABI, so it is dangerous to not error out if we don't support it). Fixes <rdar://problem/7461006>. llvm-svn: 91191
* Driver: Switch to using "clang" "-cc1" instead of "clang-cc".Daniel Dunbar2009-12-111-2/+7
| | | | llvm-svn: 91174
* Unbreak clang-cc handling of -msoft-float / -mfloat-abi=, which I borked.Daniel Dunbar2009-12-081-3/+6
| | | | llvm-svn: 90873
* Enable '-analyzer-opt-analyze-nested-blocks' by default for testing.Ted Kremenek2009-12-071-0/+3
| | | | llvm-svn: 90812
OpenPOWER on IntegriCloud