Michael J. Spencer
4992ca4b17
Reorganize predefined macros for all Windows targets.
...
This adds an option to set the _MSC_VER macro without
recompiling. This is very useful when testing compatibility
with the Windows SDK and c++stdlib headers.
-fmsc-version=<version> (defaults to VS2003 (1300))
llvm-svn: 116999
2010-10-21 05:21:48 +00:00
Michael J. Spencer
4c0ffa823f
Fix Whitespace.
...
llvm-svn: 116990
2010-10-21 03:16:25 +00:00
Chandler Carruth
24e17e175d
Add support for the '--sysroot' flag, and an accompanying test of its
...
interactions with -isysroot and other driver commands.
llvm-svn: 116912
2010-10-20 07:00:47 +00:00
Chandler Carruth
06067c556a
Use CLANG_RESOURCE_DIR define if one is provided, otherwise use the default of
...
'../lib/clang/<version>'. Actually use '..' rather than removing the trailing
component to correctly handle paths containing '.' or symlinks in the presence
of -no-canonical-prefixes, etc. This shouldn't change any existing behavior.
llvm-svn: 116803
2010-10-19 08:47:51 +00:00
Daniel Dunbar
473f8a6f88
Driver: Reject -fasm-blocks except on X86 (where we just ignore it, since
...
passing it is very prevalent in some circles).
llvm-svn: 116761
2010-10-18 22:49:46 +00:00
Daniel Dunbar
2b4de14b1d
Driver/IA: Accept and ignore -force_cpusubtype_ALL, as in 'clang -c
...
-Wa,-force_cpusubtype_ALL t.c'.
- Tweaks -Wa, and -Xassembler handling to only accept an explicit short list of
arguments and give an obvious unsupported error on others.
llvm-svn: 116759
2010-10-18 22:36:15 +00:00
Daniel Dunbar
767bbabb24
Driver/Darwin: Forward -ObjC when linking, which may be needed when using static
...
libraries with Objective-C code.
llvm-svn: 116758
2010-10-18 22:08:36 +00:00
Daniel Dunbar
6358d6866d
Driver: Error on -fno-for-scope, which we have no intention of supporting.
...
llvm-svn: 116627
2010-10-15 22:30:42 +00:00
Argyrios Kyrtzidis
dfe47dba37
Revert r116605, a lot more were committed by mistake.
...
llvm-svn: 116606
2010-10-15 18:51:34 +00:00
Argyrios Kyrtzidis
ffbba26285
Add '-include-pch' option to the driver, so it can get passed to the cc1 driver.
...
llvm-svn: 116605
2010-10-15 18:49:01 +00:00
Dan Gohman
10169b94cf
Wire up the -fstrict-aliasing and -fno-strict-aliasing options
...
to CodeGenOption flags.
llvm-svn: 116530
2010-10-14 22:36:56 +00:00
Daniel Dunbar
89329cb8f7
Driver/Darwin: Remove a useless warning about missing runtime libraries. These
...
are almost never needed, so the warning isn't very useful.
llvm-svn: 116263
2010-10-11 23:31:07 +00:00
Douglas Gregor
4e0f15a4a2
Eliminate -fdiagnostics-binary and all of the infrastructure for
...
emitting diagnostics in a binary form to be consumed by libclang,
since libclang no longer does any of its work out-of-process, making
this code dead. Besides, this stuff never worked at 100% anyway.
llvm-svn: 116250
2010-10-11 22:02:06 +00:00
Axel Naumann
b151c3c2d6
Declare argv parameters as const char* const* instead of to char** to clarify that they are not modified, and to allow for string literals as arguments.
...
llvm-svn: 116200
2010-10-11 09:18:43 +00:00
NAKAMURA Takumi
89acd1e7ef
lib/Driver/Driver.cpp: Use the driver g++-4 for Cygwin-1.5.
...
llvm-svn: 116183
2010-10-11 02:28:42 +00:00
NAKAMURA Takumi
6bdc8a2d8a
lib/Driver/Tools.cpp: Disable cxa_atexit by default also on Cygwin.
...
llvm-svn: 116161
2010-10-10 01:53:03 +00:00
Argyrios Kyrtzidis
74825bcfb9
Implement -fshort-enums (rdar://8490496).
...
llvm-svn: 116020
2010-10-08 00:25:19 +00:00
John McCall
2a981c2056
Teach the driver to pass -fexceptions in Objective-C inputs on ARM.
...
I don't know when this stopped happening, but this seems to be the
right place to do it.
llvm-svn: 115730
2010-10-06 01:40:51 +00:00
Devang Patel
91bbb5547d
Introduce -flimit-debug-info.
...
In this experimental mode try avoiding debug info emission for classes as much as possible. The goal is to reduce size of produced debuginfo without reducing quality of debug info in general. This is a work in progress.
llvm-svn: 115188
2010-09-30 19:05:55 +00:00
Argyrios Kyrtzidis
2f23b414e9
Driver: Ignore the found PCH file if its '-include' is not the first one.
...
llvm-svn: 115158
2010-09-30 16:53:47 +00:00
Daniel Dunbar
f247675c55
Driver/Linux: Translate rewritten lib options back to standard -l form when
...
using generic GCC tools.
llvm-svn: 114793
2010-09-25 18:10:05 +00:00
Daniel Dunbar
4ed214a191
Driver: Add -fallow-unsupported which disables some of the eager error'ing we do
...
to prevent users from trying unsupported stuff. Useful for testing.
llvm-svn: 114749
2010-09-24 19:39:37 +00:00
Nick Lewycky
6e1ce29b01
Revert r114712 due to failure on darwin buildbot.
...
llvm-svn: 114713
2010-09-24 00:46:53 +00:00
Nick Lewycky
e351fed104
Make -M/-MM behave like in gcc; use -MF first then -o else use stdout.
...
llvm-svn: 114712
2010-09-23 23:49:25 +00:00
Nick Lewycky
e47c245b90
Fix header comment so we don't break emacs.
...
llvm-svn: 114711
2010-09-23 23:48:20 +00:00
Argyrios Kyrtzidis
4f92016ed3
If -fcolor-diagnostics is explicitly passed to the driver respect that even if the driver is of the opinion that
...
stderr can't handle them. (see http://llvm.org/PR8150 )
Patch by Frits van Bommel!
llvm-svn: 114638
2010-09-23 12:56:06 +00:00
Daniel Dunbar
da4f6b5151
Driver/Darwin: Add a runtime library just for ___eprintf -- when targeting i386
...
some projects still depend on ___eprintf being available.
llvm-svn: 114509
2010-09-22 00:03:52 +00:00
Daniel Dunbar
c1dd0e97f3
Driver/Objective-C: Retool Objective-C ABI flags to be more usable, and actually
...
document behavior. Will wonders never cease.
llvm-svn: 114334
2010-09-20 18:19:55 +00:00
Shantonu Sen
afeb03b41d
Driver: implement driver automagic support for -lcc_kext
...
Rewrite linker arguments to use libclang_rt.cc_kext.a
instead of gcc-specific libcc_kext.a
Resolves Radar 7808495
llvm-svn: 114193
2010-09-17 18:39:08 +00:00
David Chisnall
dd84ef1e62
Add a -ftrapv-handler= option which allows a handler to invoke instead of simply aborting when a signed operation overflows. This mirrors the (GCC-incompatible) behaviour from clang 1.0 and 1.1 when -ftrapv was specified, but allows the handler to be defined for each compilation unit.
...
llvm-svn: 114192
2010-09-17 18:29:54 +00:00
Daniel Dunbar
00aff04c8d
Driver/DarwinClang: Add GCC libexec paths so we can find the cc1 binaries if we
...
ever use fallback.
- Not necessary for clang as a compiler, but useful for testing purposes.
llvm-svn: 114172
2010-09-17 08:22:12 +00:00
Daniel Dunbar
14287de654
Reapply "Driver/Darwin: Time for another spin at switching to the DarwinClang",
...
now that eprintf symbol issue is resolved.
llvm-svn: 114166
2010-09-17 04:25:28 +00:00
Daniel Dunbar
e4f65f3885
Revert "Driver/Darwin: Time for another spin at switching to the DarwinClang
...
toolchain.", while I investigate the totally non-surprising ensuing breakage.
llvm-svn: 114164
2010-09-17 03:46:37 +00:00
Daniel Dunbar
1b09e04f9e
Driver: Support -dumpmachine.
...
llvm-svn: 114155
2010-09-17 02:47:28 +00:00
Daniel Dunbar
a7afcf92d1
Driver/Darwin: Time for another spin at switching to the DarwinClang toolchain.
...
llvm-svn: 114149
2010-09-17 01:56:41 +00:00
Daniel Dunbar
3f7796fc22
Driver: Fix spelling of AddCXXStdlibLibArgs, which I copy-n-pasto'd.
...
llvm-svn: 114147
2010-09-17 01:20:05 +00:00
Daniel Dunbar
8fa86b1a44
Driver/DarwinClang: The new toolchain definition is going to drop the -L inside
...
the GCC dir. Unfortunately, this breaks -lstdc++ on SnowLeopard, etc. because
the libstdc++ dylib was hiding there. Workaround this by providing the path to
the right -lstdc++.6 (the only version used in recent memory) if we can't see an
obvious -lstdc++, but can find = -lstdc++.6.
llvm-svn: 114146
2010-09-17 01:16:06 +00:00
Daniel Dunbar
2cc3f17a26
Driver: Add magic handling for "reserved library names", starting with
...
-lstdc++. This is the best gross solution for a gross problem.
This issue is that historically, GCC has add -L options to its internally
library directories. This has allowed users and platforms to end up depending on
the layout of GCC's internal library directories.
We want to correct this mistake by eliminating that -L, but this means that
existing libraries which are in the GCC lib dir won't be found. We are going to
handle this by treating those -l names as "reserved", and requiring toolchains
to know how to add the right full path to the reserved library.
The immediately side effect of this is that users trying to use -L to find their
own -lstdc++ will need to start using -nostdlib (which is a good idea
anyway). Another side effect is that -stdlib=libc++ -lstdc++ will now do the
"right" thing, for curious definitions of right.
llvm-svn: 114144
2010-09-17 00:45:02 +00:00
Daniel Dunbar
54423b2a86
Driver: Factor out AddLinkerInputs() function.
...
llvm-svn: 114138
2010-09-17 00:24:54 +00:00
Daniel Dunbar
62123a12f1
Driver: Add a toolchain hook for whether the system has native LLVM support.
...
llvm-svn: 114137
2010-09-17 00:24:52 +00:00
Fariborz Jahanian
f51a38777b
Make the new -fobjc-nonfragile-abi2 the default
...
abi for clang's objective-c compilations.
(radar 8353555).
llvm-svn: 113974
2010-09-15 16:00:51 +00:00
Daniel Dunbar
092b6fb187
Driver: Add a -stdlib= argument which can be used to select the C++ standard
...
library to use.
- This is currently useful for testing libc++; you can now use 'clang++
-stdlib=libc++ t.cpp' to compile using it if installed.
- In the future could also be used to select other standard library choices if
alternatives become available (for example, to use an alternate C library).
llvm-svn: 113891
2010-09-14 23:12:40 +00:00
Daniel Dunbar
bf11f79053
Driver: Factor out some code for handling the C++ standard library.
...
llvm-svn: 113890
2010-09-14 23:12:35 +00:00
Daniel Dunbar
30a12b8d88
Simplify.
...
llvm-svn: 113889
2010-09-14 23:12:31 +00:00
Michael J. Spencer
09476212de
Revert "CMake: Update to use standard CMake dependency tracking facilities instead"
...
This reverts commit r113631
Conflicts:
CMakeLists.txt
lib/CodeGen/CMakeLists.txt
llvm-svn: 113817
2010-09-13 23:54:41 +00:00
Anton Korobeynikov
82b3333b72
Disable cxa_atexit by default on MingW.
...
Patch by Dimitry Andric!
llvm-svn: 113683
2010-09-11 11:17:06 +00:00
Michael J. Spencer
0881f4a367
CMake: Update to use standard CMake dependency tracking facilities instead
...
of whatever we were using before...
llvm-svn: 113631
2010-09-10 21:13:16 +00:00
Daniel Dunbar
ccbc45262b
Driver/Darwin: Make the compilation object available in AddLinkArgs.
...
llvm-svn: 113549
2010-09-09 21:51:05 +00:00
Daniel Dunbar
859dba6637
Driver: Mark function as nounwind when -mkernel or -fapple-kext is present.
...
llvm-svn: 113541
2010-09-09 21:17:44 +00:00
Douglas Gregor
c9199f522f
Clean up CMake dependencies
...
llvm-svn: 113489
2010-09-09 15:44:58 +00:00