David Chisnall
589a494352
Pass some things to the linker that gcc passes. -r is the only one of these that I'm sure about, but the others seem to be listed on FreeBSD by gcc -dumpspecs, so I hope they're right. Apparently -r is also not passed on GNU/Linux (and should be), but I can't see where the toolchain definition for this platform live.
...
llvm-svn: 111114
2010-08-15 22:58:12 +00:00
Argyrios Kyrtzidis
90bdfbbdf7
Switch on PCH for C++. C++ fans all over the world rejoice.
...
llvm-svn: 110879
2010-08-11 23:27:58 +00:00
Daniel Dunbar
cacb0e2d45
Driver/Darwin: Pass -demangle when linking, if the linker supports it.
...
llvm-svn: 110873
2010-08-11 23:07:50 +00:00
Daniel Dunbar
976a2f54fa
Driver: Add -mlinker-version=, which forwards to -target-linker-version.
...
llvm-svn: 110872
2010-08-11 23:07:47 +00:00
Ted Kremenek
0476899b20
Turn on idempotent operations checker when using --analyze.
...
llvm-svn: 110695
2010-08-10 18:03:13 +00:00
Rafael Espindola
92b0093112
Run the assembler instead of gcc on Linux.
...
llvm-svn: 110635
2010-08-10 00:25:48 +00:00
Eric Christopher
f387dbde81
Make -funroll-loops turn on loop unrolling in the optimizer instead
...
of just ignoring it.
llvm-svn: 110525
2010-08-07 23:08:14 +00:00
Daniel Dunbar
939c1211cc
Driver: Don't forward any -g options to GCC, when using it to drive the
...
assembler.
- Fixes PR6218, hopefully.
llvm-svn: 110111
2010-08-03 16:14:14 +00:00
Daniel Dunbar
7fbaf53470
Driver: Add Compilation::addCommand and switch tools to using it, now that we
...
don't have to deal with nested jobs.
llvm-svn: 110015
2010-08-02 02:38:28 +00:00
Daniel Dunbar
b440f56e53
Driver: Eliminate special InputInfo kind for pipes, it is now unused.
...
llvm-svn: 110013
2010-08-02 02:38:21 +00:00
Daniel Dunbar
ea3813fbc9
Driver/OpenBSD: Update toolchain for compiler changes / C++; patch by Jonathan
...
Gray.
llvm-svn: 109994
2010-08-01 23:13:54 +00:00
Daniel Dunbar
6d48476446
Driver/Darwin: Set -force_cpusubtype_ALL only by default on x86.
...
llvm-svn: 109074
2010-07-22 01:47:22 +00:00
Rafael Espindola
38360b3ff7
Add -lstdc++ to DragonFly tools.
...
Patch by Sascha Wildner.
llvm-svn: 108830
2010-07-20 12:59:03 +00:00
Daniel Dunbar
99b5524324
Driver: Make -fnext-runtime the default when rewriting Objective-C.
...
llvm-svn: 108741
2010-07-19 19:44:22 +00:00
Daniel Dunbar
b31b76f1eb
Driver: Fix a possible use after free.
...
llvm-svn: 108659
2010-07-18 21:16:15 +00:00
Daniel Dunbar
9765b9817d
Driver: When re'execing clang, use path to the main executable instead of
...
looking up Clang in the normal search paths (which may end up finding the wrong
clang).
llvm-svn: 108346
2010-07-14 18:46:27 +00:00
Daniel Dunbar
9c3ed5f4d0
Driver: Remove some unused arguments.
...
llvm-svn: 108345
2010-07-14 18:46:23 +00:00
Daniel Dunbar
af68a88e68
Driver/Darwin: Pass -pie/-no_pie to the linker when -fpie/-fno-pie and friends
...
are explicitly given.
llvm-svn: 108297
2010-07-13 23:31:40 +00:00
Douglas Gregor
8ed0c0b99d
Introduce -f{no-}spell-checking options to enable/disable
...
spell-checking. By default, spell-checking is enabled for Clang
(obviously) but disabled in CIndex for performance reasons.
llvm-svn: 107992
2010-07-09 17:35:33 +00:00
Chris Lattner
3e2ee147d0
add driver support for minix, patch by Kees van Reeuwijk
...
from PR7583
llvm-svn: 107788
2010-07-07 16:01:42 +00:00
Daniel Dunbar
bb7ac52e02
Driver/IRgen: Add support for -momit-leaf-frame-pointer.
...
llvm-svn: 107367
2010-07-01 01:31:45 +00:00
Rafael Espindola
0e1fb4f341
Set the default arch based on the triple.
...
llvm-svn: 107021
2010-06-28 17:18:09 +00:00
Rafael Espindola
b1ef8ffb15
Use softfp for linux gnueabi, keep the warning for everything else.
...
llvm-svn: 106984
2010-06-27 18:29:21 +00:00
Chris Lattner
51924e517b
Implement support for -fwrapv, rdar://7221421
...
As part of this, pull together trapv handling into the same enum.
This also add support for NSW multiplies.
This also makes PCH disagreement on overflow behavior silent, since it
really doesn't matter except for warnings and codegen (no macros get
defined etc).
llvm-svn: 106956
2010-06-26 21:25:03 +00:00
Daniel Dunbar
a91c0ba88a
Driver: Remove some dead code left around after a refactoring. Found by the
...
Clang static analyzer!
llvm-svn: 106568
2010-06-22 20:18:18 +00:00
Chris Lattner
3c77a355e0
implement support for -finstrument-functions, patch by Nelson
...
Elhage!
llvm-svn: 106507
2010-06-22 00:03:40 +00:00
Rafael Espindola
23a8a06554
Change the test for which ABI/CC to use on ARM to be base on the environment
...
(the last argument of the triple).
llvm-svn: 106131
2010-06-16 19:01:17 +00:00
Douglas Gregor
0832963acd
Implement -fvisibility-inlines-hidden. <rdar://problem/7819834>
...
llvm-svn: 106003
2010-06-15 17:05:35 +00:00
Daniel Dunbar
3f1a1ffd95
Driver: Eliminate uses of Arg::getIndex.
...
Also, fix a memory leak.
llvm-svn: 105963
2010-06-14 21:23:08 +00:00
Daniel Dunbar
a442fd5da6
Driver: Fix arg_iterator typing to reflect that it is really an iterator over Arg*s.
...
llvm-svn: 105838
2010-06-11 22:00:13 +00:00
Jeffrey Yasskin
2b99c6fc4f
Add an option -fshow-overloads=best|all to limit the number of overload
...
candidates printed. We default to 'all'. At the moment, 'best' prints only
the first 4 overloads, but we'll improve that over time.
llvm-svn: 105815
2010-06-11 05:57:47 +00:00
Jeffrey Yasskin
460aa54d0a
Implement -fcaret-diagnostics to undo -fno-caret-diagnostics.
...
llvm-svn: 105597
2010-06-08 04:56:20 +00:00
Daniel Dunbar
24e52992c0
Driver: Support invoking Clang on .ll or .bc inputs.
...
- We actually pretend that we have two separate types for LLVM assembly/bitcode because we need to use the standard suffixes with LTO ('clang -O4 -c t.c' should generate 't.o').
It is now possible to do something like:
$ clang -emit-llvm -S t.c -o t.ll ... assorted other compile flags ...
$ clang -c t.ll -o t.o ... assorted other compile flags ...
and expect that the output will be almost* identical to:
$ clang -c t.c -o t.o ... assorted other compile flags ...
because all the target settings (default CPU, target features, etc.) will all be initialized properly by the driver/frontend.
*: This isn't perfect yet, because in practice we will end up running the optimization passes twice. It's possible to get something equivalent out with a well placed -mllvm -disable-llvm-optzns, but I'm still thinking about the cleanest way to solve this problem more generally.
llvm-svn: 105584
2010-06-07 23:28:45 +00:00
Daniel Dunbar
7f3d95054b
Driver: Change -dwarf-debug-flags option to pass the original command line
...
arguments after translation, instead of the -cc1 level arguments.
llvm-svn: 105476
2010-06-04 18:47:06 +00:00
Daniel Dunbar
6beaf5110f
Driver/Darwin: Model dsymutil properly, as a separate action/tool kind which is
...
added as the last output step, instead of just hacking it into the link step.
- Among other things, this fixes dSYM generation when using multiple -arch options.
llvm-svn: 105475
2010-06-04 18:28:41 +00:00
Daniel Dunbar
8829962030
Driver: Add an explicit dsymutil action.
...
llvm-svn: 105474
2010-06-04 18:28:36 +00:00
Daniel Dunbar
99ca8b71cd
Driver: Spell -relax-all correctly when calling the cc1as tool.
...
llvm-svn: 104955
2010-05-28 16:43:21 +00:00
Daniel Dunbar
9296f63ff0
Driver: Update -O -> -O2 replacement for addition of -O0 option.
...
llvm-svn: 104823
2010-05-27 06:51:08 +00:00
Daniel Dunbar
06e2cc3f86
Driver: Add support for -m[no-]relax-all, and make it the default at -O0.
...
llvm-svn: 104815
2010-05-27 06:18:05 +00:00
Chandler Carruth
e039148801
Daniel re-educated me about what Alias does and does not do. Turn that off for
...
'-fasm' and explicitly map from that flag to -fgnu-keywords in the driver. Turn
off the driver in the lexer test for this madness and add a test to the driver
that the translation actually works.
llvm-svn: 104428
2010-05-22 02:21:53 +00:00
Daniel Dunbar
4f5e79c67d
Driver: Add a tool definition for the Clang integrated assembler.
...
llvm-svn: 104280
2010-05-20 21:30:13 +00:00
Ted Kremenek
bd7b3ccbf8
Expose -fobjc-nonfragile-abi2 as a top-level clang driver option. Fixes <rdar://problem/8007063>.
...
llvm-svn: 104205
2010-05-20 02:12:37 +00:00
Daniel Dunbar
0d8ca9e91a
Driver: Make -fverbose-asm the default for platforms where the integrated
...
assembler defaults to on.
llvm-svn: 103825
2010-05-14 22:00:22 +00:00
Daniel Dunbar
fcc49a8f1f
Driver/Darwin/i386: Don't allow compiling C++ with -fapple-kext, we don't support the necessary ABI yet.
...
llvm-svn: 103632
2010-05-12 18:19:58 +00:00
Daniel Dunbar
4083d044e1
Simplify.
...
llvm-svn: 103631
2010-05-12 18:19:55 +00:00
Rafael Espindola
66bfb27545
Handle -ffunction-sections and -fdata-sections in the driver.
...
llvm-svn: 103197
2010-05-06 21:06:04 +00:00
Chandler Carruth
a77a72734c
Remove a dependency on Frontend headers in the Driver library. Also saves
...
building and passing arguments to cc1 layer when setting values to their
defaults.
llvm-svn: 103162
2010-05-06 04:55:18 +00:00
Chris Lattner
bf6fac8415
add a new -fdiagnostics-show-category=none/id/name option, giving control
...
over choice of:
t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat]
t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat,1]
t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat,Format String]
dox to come.
llvm-svn: 103056
2010-05-04 21:55:25 +00:00
Douglas Gregor
cd121fb013
Introduce a limit on the depth of the macro instantiation backtrace
...
printed in a diagnostic, similar to the limit we already have on the
depth of the template instantiation backtrace. The macro instantiation
backtrace is limited to 10 "instantiated from:" diagnostics; when it's
longer than that, we'll show the first half, then say how many were
suppressed, then show the second half. The limit can be changed with
-fmacro-instantiation-limit=N, and turned off with N=0.
This eliminates a lot of note spew with libraries making use of the
Boost.Preprocess library.
llvm-svn: 103014
2010-05-04 17:13:42 +00:00
Ted Kremenek
d8a23f988d
Do not enable '-analyze-check-security-syntactic' by default when using '--analyze'. There
...
are several known issues to address for it should be turned on by default.
llvm-svn: 102664
2010-04-29 22:50:22 +00:00