aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver/Tools.cpp
AgeCommit message (Collapse)Author
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-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: 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: 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-26Simplify.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94503 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-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-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
2010-01-09implement -ftabstop=width, patch by Christian AdåkerChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93078 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-08Use -fno-math-errno by default, and remove the IsMathErrnoDefaultDan Gohman
targethook, which is no longer being used. This fixes PR5971. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92987 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Driver: Drop ToolChain::getHost()Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91960 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-21ARM: Honor -mfpu= and set __VFP_FP__ and __ARM_NEON__ "correctly".Daniel Dunbar
- 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91855 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-21Add ToolChain::getDriver() and use it instead of going through the HostInfoDaniel Dunbar
object. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91830 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-19ARM: Use front-end specific target features "soft-float" and ↵Daniel Dunbar
"soft-float-abi" to communicate FP mode to target; __SOFTFP__ is set correctly now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91755 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18clang -cc1: Rename -mcpu to -target-cpu to match other target options and ↵Daniel Dunbar
not alias driver/backend option. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91671 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18Add -dwarf-debug-flags, which provides a way to embed the cc1 level options usedDaniel Dunbar
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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91661 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16Fix -fdollars-in-identifiers Clang translation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91562 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16implement PR5654: add -fassume-sane-operator-new, which is enabled by ↵Nuno Lopes
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 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91543 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15Driver: Pass -resource-dir to clang -cc1, since the driver presumably ↵Daniel Dunbar
already found itself. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91384 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-12Implement runtime checks for undefined behavior. WIP.Mike Stump
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91198 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-12Make using '-fshort-enums' an error until it is actually implemented ↵Ted Kremenek
(changes the ABI, so it is dangerous to not error out if we don't support it). Fixes <rdar://problem/7461006>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91191 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-11Driver: Switch to using "clang" "-cc1" instead of "clang-cc".Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91174 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-08Unbreak clang-cc handling of -msoft-float / -mfloat-abi=, which I borked.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90873 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07Enable '-analyzer-opt-analyze-nested-blocks' by default for testing.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90812 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-07Shorten the help test for -no-canonical-prefixes, put it behind HelpHidden andRafael Espindola
claim it in Driver.cpp instead of Tools.cpp. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90777 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04Add gcc's -no-canonical-prefixes option to clang.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90577 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-03Fix Clang tool translation to forward -fvisibility as separate arguments, theDaniel Dunbar
old syntax isn't supported. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90469 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-02Driver: Add Command::Creator member variable, which tracks the tool that wasDaniel Dunbar
used to create a particular command. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90287 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-30Add CodeGenOptions::{SoftFloat,FloatABI}, and update the all the (far too ↵Daniel Dunbar
many) places to use this instead of using the backend -soft-float and -float-abi= options. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90127 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-30Always pass -fmessage-length using separate arguments.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90121 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-29Move LLVM backend options to explicit clang-cc / clang -cc1 options, which ↵Daniel Dunbar
we then manually pass to the command line library; eventually the latter grossness should be fixed by a real API when creating the target machine. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90063 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-29clang-cc: Change -fsigned-char=0 to -fno-unsigned-char and pass -pic-level ↵Daniel Dunbar
using separate args. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90054 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25What the FIXMEs want, the FIXMEs shall have.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89861 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25Don't pass -fexceptions=0 (it is the default).Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89853 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-21Fix refacto, gcc's cc1 needs to see --output-pch=, which is not just an aliasDaniel Dunbar
for -output-pch=. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89534 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Pass '-mcpu' 'FOO' instead of '-mcpu=FOO'.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89498 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-20Standardize Driver translation to call clang-cc using '-foo' form instead of ↵Daniel Dunbar
'--foo'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89497 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Switch -f{builtin,math-errno,rtti} and -analyzer-purge-dead to -...no... ↵Daniel Dunbar
variants instead of using llvm::cl::init(true) arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89315 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Driver: ArgList doesn't depend on Options.h anymore.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89313 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Driver: Switch to using explicit {getLast,has}ArgNoClaim functions instead ↵Daniel Dunbar
of taking a Claim argument. - Most driver code always claims, and bool arguments don't play nice with the overloads. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89308 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-19Use Option::matches instead of direct ID comparison.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89305 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-18Fix passing stdc++ correctly in the FreeBSD toolchain support, Credit to ↵Edward O'Callaghan
Roman Divacky. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89205 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Added block type introspection support.David Chisnall
As per Fariborz's suggestion, committed now but can be reverted later if the used flag is problematic for Apple. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89134 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-17Add -fblocks, -stack-protector, and -fobjc-nonfragile-abi defaulting to driver,Daniel Dunbar
instead of using getDefaultLangOptions. - Remove unused -fobjc-tight-layout while at it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89065 91177308-0d34-0410-b5e6-96231b3b80d8