Commit Graph

444 Commits

Author SHA1 Message Date
Chad Rosier 864dfe11bd [driver] Clang should report an error for -faltivec on non-ppc.
rdar://10963572

llvm-svn: 152684
2012-03-13 23:45:51 +00:00
Chad Rosier 8028640704 Update test case to use not tool.
llvm-svn: 152664
2012-03-13 20:31:40 +00:00
Chad Rosier d6f716ab2a [driver] Parse diagnostic args in the driver.
Previously, only diagnostics thrown by the cc1 process were
actually honoring the diagnostic options given on the command line,
like -Werror.

Reuse the existing code in Frontend currently used for cc1,
adjusting it to not interpret -Wl, linker flags as warnings.

Also fix a faulty test exposed by this change.
It wasn't actually testing anything, and was giving this warning:

clang-3: warning: argument unused during compilation: '-verify'

Which -Werror didn't turn into an error because it was output
by the driver, not the cc1 process, and diagnostic options
weren't parsed by the driver. And you couldn't see the warning
when running the test suite.

Fixes PR12181.
Patch by Dylan Noblesmith <nobled@dreamwidth.org>.

llvm-svn: 152660
2012-03-13 20:09:56 +00:00
Bill Wendling c0938f3fdb Address some of the concerns by Chandler.
* s/AddDirectoryList/addDirectoryList/
* Move the call to ::getenv into the function.
* FileCheck-ize the testcase.

llvm-svn: 152583
2012-03-12 22:10:06 +00:00
Bill Wendling 281ca2917b Have clang pay attention to the LIBRARY_PATH environment variable.
The LIBRARY_PATH environment variable should be honored by clang. Have the
driver pass the directories to the linker.
<rdar://problem/9743567> and PR10296.

llvm-svn: 152578
2012-03-12 21:22:35 +00:00
Rafael Espindola c41db927f3 Implement -fno-dwarf2-cfi-asm on linux too.
llvm-svn: 152316
2012-03-08 14:39:55 +00:00
Chad Rosier 64d6be979f [driver] What was implemented in r152130 was actually -fno-inline-functions, not
-fno-inline.
Part of rdar://10972766

llvm-svn: 152145
2012-03-06 21:17:19 +00:00
Ted Kremenek e65b086e07 Add clang support for new Objective-C literal syntax for NSDictionary, NSArray,
NSNumber, and boolean literals.  This includes both Sema and Codegen support.
Included is also support for new Objective-C container subscripting.

My apologies for the large patch.  It was very difficult to break apart.
The patch introduces changes to the driver as well to cause clang to link
in additional runtime support when needed to support the new language features.

Docs are forthcoming to document the implementation and behavior of these features.

llvm-svn: 152137
2012-03-06 20:05:56 +00:00
Chad Rosier 9a099ea3eb Whitespace.
llvm-svn: 152134
2012-03-06 19:14:53 +00:00
Chad Rosier 806031896d [driver] Add support for -fno-inline.
rdar://10972766

llvm-svn: 152130
2012-03-06 18:49:20 +00:00
Kostya Serebryany 28a7a1198b Add a flag -fthread-sanitizer.
This flag enables ThreadSanitizer instrumentation committed to llvm as r150423.
The patch includes one test for -fthread-sanitizer and one similar test for -faddress-sanitizer.
This patch does not modify the linker flags (as we do it for -faddress-sanitizer) because the run-time library is not yet
committed and it's structure in compiler-rt is not 100% clear.
The users manual wil be changed in a separate commit.

llvm-svn: 151846
2012-03-01 22:27:08 +00:00
Argyrios Kyrtzidis 3dbeb55874 [driver] Emit an error when trying to use ARC on macosx earlier than 10.6
rdar://10459258

llvm-svn: 151706
2012-02-29 03:43:52 +00:00
Chad Rosier 2ad368fce3 [driver] Add support for -g2 and -ggdb debug flags.
rdar://10947759

llvm-svn: 151654
2012-02-28 20:49:04 +00:00
Benjamin Kramer 6b2dc73d48 Okay, makes sense to change all the occurences to match clang.EXE.
llvm-svn: 151491
2012-02-26 14:55:10 +00:00
Benjamin Kramer 1c45c9c8b0 Allow any file extension for the clang binary in the linux-header-search test.
Turns out this can be .exe or .EXE, depending on the build system.

llvm-svn: 151490
2012-02-26 14:50:31 +00:00
Chandler Carruth df8ae4b949 Add the critical crtbegin.o files necessary for any of the tests in
r151482 and r151484 to work. Sorry about the fallout...

llvm-svn: 151485
2012-02-26 10:46:17 +00:00
Chandler Carruth 2e9d731761 A follow-up to r151482 which added support for powerpc and powerpc64
Debian multiarch libraries, this should in theory add support for those
platform's header search rules. I don't have a system to check this
with, so review appreciated. I've added the corresponding tests
referring to the debian multiarch tree.

We are starting to have a relatively completely tested Linux platform
for header search and library search, with several interesting
peculiarities. We should point people at the debian_multiarch_tree when
suggesting new tests. Folks with Debian systems that can check this for
correctness, it would be much appreciated. The missing chunks I know of
are testing bi-arch peudo-cross-compiling toolchains betwen 32-bit and
64-bit variants of platforms, and the MIPS and ARM Debian toolchains.

llvm-svn: 151484
2012-02-26 09:21:43 +00:00
Chandler Carruth af3c2090b4 Add support for PPC and PPC64 multiarch toolchains on Debain.
Patch from Michel Dänzer, sent our way via Jeremy Huddleston who added
64-bit support. I just added one other place where powerpc64-linux-gnu
was missing (we only had powerpc64-unknown-linux-gnu).

I've also added a tree to test out the debian multiarch stuff. I don't
use debian regularly, so I'm not certain this is entirely accurate. If
anyone wants to check it against a debian system and fix any
inaccuracies, fire away. This way at least folks can see how this is
*supposed* to be tested.

It'd be particularly good to get the Debian MIPS toolchains tested in
this way.

llvm-svn: 151482
2012-02-26 09:03:21 +00:00
Jim Grosbach ce398aa03b Update test for r151288
llvm-svn: 151290
2012-02-23 22:12:53 +00:00
Joerg Sonnenberger 17d7551e73 Revert part of r148839 and keep DefaultTargetTriple in the form adjusted
by -target and similar options. As discussed in PR 12026, the change
broke support for target-prefixed tools, i.e. calling x86_64--linux-ld
when compiling for x86_64--linux. Improve the test cases added
originally in r149083 to not require execution, just executable files.
Document the hack with appropiate FIXME comments.

llvm-svn: 151185
2012-02-22 19:15:16 +00:00
Chandler Carruth 85061b51d2 Skip testing the crtbegin.o, and resume using a single variable for the
prefixes. It seems only crtbegin.o uses the strange formatting.

llvm-svn: 151094
2012-02-21 22:21:50 +00:00
Chandler Carruth 286e0e0818 Clean up, add some documentation, and make this test return to checking
the linker toolchainness a bit more thoroughly. It used to work this
way, but hit buildbot issues. Hopefully subsequent fixes have addressed
those problems, but I'll be watching the bots.

llvm-svn: 151090
2012-02-21 21:51:40 +00:00
Aaron Ballman 4284c36ef5 Adding a test case for the working-directory fix
llvm-svn: 151014
2012-02-21 00:56:50 +00:00
Chandler Carruth 4fc5fcd121 Make the regular expressions in this test more narrow to ensure we're
actually matching the write substrings, and stop looking for a leading
'/' to try and finish fixing darwin and other hosts.

llvm-svn: 150938
2012-02-19 23:09:50 +00:00
Rafael Espindola 322d2f4032 Don't check for /lib and /usr/lib.
llvm-svn: 150907
2012-02-19 02:43:03 +00:00
Rafael Espindola 1c4bd44052 Our handling of variables in FileCheck looks really broken on windws. Just
give up on matching the path prefix for the libraries.

llvm-svn: 150906
2012-02-19 02:33:09 +00:00
Rafael Espindola 8c53669a2d Add an extra CHECK line to make sure TOOLCHAIN2 matches just the path
prefix.

llvm-svn: 150905
2012-02-19 02:23:50 +00:00
Rafael Espindola 7c3e065573 Looks like we use forward slashes for header search but back slashes for
libraries on windows. Use two variables to make this test pass.

llvm-svn: 150903
2012-02-19 02:03:47 +00:00
Rafael Espindola c499573145 Try to match the linker being named ld.exe. Second try at fixing the windows bots.
llvm-svn: 150901
2012-02-19 01:52:23 +00:00
Rafael Espindola 70f2ad1afb Don't assume a path starts with a /. Should fix the windows bot.
llvm-svn: 150900
2012-02-19 01:47:01 +00:00
Rafael Espindola 1af7c219c7 Implement a -gcc-toolchain command line option that does the same as
configure's --with-gcc-toolchain. The configure option is now just a default
value for the command line one.

llvm-svn: 150898
2012-02-19 01:38:32 +00:00
Aaron Ballman 746c62bf88 Invalid O levels on the command line no longer have a confusing error.
llvm-svn: 149852
2012-02-06 00:40:31 +00:00
Bob Wilson 6fb01c2c96 Skip freebsd driver test when ppc32/ppc64 targets are not configured.
Otherwise, the clang driver falls back to invoking gcc and the ppc tests
fail.

llvm-svn: 149793
2012-02-04 23:15:59 +00:00
NAKAMURA Takumi 2235e6da8f test/Driver/target.c: Relax expression for "gcc.exe" on win32.
llvm-svn: 149510
2012-02-01 15:16:22 +00:00
Chad Rosier 8109d5e95d Remove extraneous whitespace.
llvm-svn: 149424
2012-01-31 21:45:04 +00:00
Bob Wilson 9d3f7af8c3 Fix more fallout from the introduction of "macosx" and "ios" triples.
The Darwin toolchain constructor was assuming that all Darwin triples would
have an OS string starting with "darwin".  Triples starting with "macosx"
would misinterpret the version number, and "ios" triples would completely
miss the version number (or worse) because the OS name is not 6 characters
long.  We lose some sanity checking of triple strings here, since the
Triple.getOSVersion function doesn't do all the checking that the previous
code did, but this still seems like a step in the right direction.

llvm-svn: 149422
2012-01-31 21:30:03 +00:00
Chandler Carruth d7fa2e04f6 Revert r149083 which is not the direction we're going in the Clang
driver based on discussions with Doug Gregor. There are several issues:
1) The patch was not reviewed prior to commit and there were review comments.
2) The design of the functionality (triple-prefixed tool invocation)
   isn't the design we want for Clang going forward: it focuses on the
   "user triple" rather than on the "toolchain triple", and forces that
   bit of state into the API of every single toolchain instead of
   handling it automatically in the common base classes.
3) The tests provided are not stable. They fail on a few Linux variants
   (Gentoo among them) and on mingw32 and some other environments.

I *am* interested in the Clang driver being able to invoke
triple-prefixed tools, but we need to design that feature the right way.
This patch just extends the previous hack without fixing the underlying
problems with it. I'm working on a new design for this that I will mail
for review by tomorrow.

I am aware that this removes functionality that NetBSD relies on, but
this is ToT, not a release. This functionality hasn't been properly
designed, implemented, and tested yet. We can't "regress" until we get
something that really works, both with the immediate use cases and with
long term maintenance of the Clang driver.

For reference, the original commit log:
Keep track of the original target the user specified before
normalization. This used to be captured in DefaultTargetTriple and is
used for the (optional) $triple-$tool lookup for cross-compilation.
Do this properly by making it an attribute of the toolchain and use it
in combination with the computed triple as index for the toolchain
lookup.

llvm-svn: 149337
2012-01-31 02:21:20 +00:00
Chandler Carruth 4c727853ed Fix yet another issue introduced when renaming '-ccc-host-triple' to
'-target'. The original flag was part of a flag group that marked it as
driver-only. The new flag didn't ever get equivalent treatment. This
caused the '-target' flag to get passed down to any raw GCC invocation.
Marking it as a driver option fixes this and PR11875.

llvm-svn: 149244
2012-01-30 12:25:35 +00:00
NAKAMURA Takumi e284cff24e test/Driver/prefixed-tools.c: Disable this on win32 hosts, msvc and mingw.
It had failed on Win32 due to inability of executing shell scripts.
Still it fails even with mingw MSYS bash.

llvm-svn: 149100
2012-01-27 00:31:09 +00:00
NAKAMURA Takumi e0f13f037c test/Driver/prefixed-tools.c: Fix newline at end-of-file.
llvm-svn: 149099
2012-01-27 00:31:03 +00:00
Joerg Sonnenberger 91960f4abb Keep track of the original target the user specified before
normalization. This used to be captured in DefaultTargetTriple and is
used for the (optional) $triple-$tool lookup for cross-compilation.
Do this properly by making it an attribute of the toolchain and use it
in combination with the computed triple as index for the toolchain
lookup.

llvm-svn: 149083
2012-01-26 21:56:28 +00:00
Bob Wilson 269e6377dd Revert r148249: "Make the auto-detection hack for the iOS simulator set the target triple correctly."
There were some problems with this, so I'm backing it out for now.

llvm-svn: 149040
2012-01-26 03:37:03 +00:00
Chandler Carruth 0b1756b880 Reintroduce r148981 with significantly improved regression test. Now it
both actually tests what it wants to, doesn't have bogus and broken
assertions in it, and is also formatted much more cleanly and
consistently. Probably still some more that can be improved here, but
its much better.

Original commit message:
----
Try to unbreak the FreeBSD toolchain's detection of 32-bit targets
inside a 64-bit freebsd machine with the 32-bit compatibility layer
installed. The FreeBSD image always has the /usr/lib32 directory, so
test for the more concrete existence of crt1.o. Also enhance the tests
for freebsd to clarify what these trees look like and exercise the new
code.

Thanks to all the FreeBSD folks for helping me understand what caused
the failure and how we might fix it. =] That helps a lot. Also, yay
build bots.

llvm-svn: 149011
2012-01-26 01:35:15 +00:00
Argyrios Kyrtzidis e8be6652ce Revert r148981 because it fails test/Driver/freebsd.c
Original log:

Author: chandlerc <chandlerc@91177308-0d34-0410-b5e6-96231b3b80d8>
Date:   Wed Jan 25 21:32:31 2012 +0000

    Try to unbreak the FreeBSD toolchain's detection of 32-bit targets
    inside a 64-bit freebsd machine with the 32-bit compatibility layer
    installed. The FreeBSD image always has the /usr/lib32 directory, so
    test for the more concrete existence of crt1.o. Also enhance the tests
    for freebsd to clarify what these trees look like and exercise the new
    code.

    Thanks to all the FreeBSD folks for helping me understand what caused
    the failure and how we might fix it. =] That helps a lot. Also, yay
    build bots.

llvm-svn: 148993
2012-01-25 22:55:16 +00:00
Chandler Carruth 143f2f6e37 Try to unbreak the FreeBSD toolchain's detection of 32-bit targets
inside a 64-bit freebsd machine with the 32-bit compatibility layer
installed. The FreeBSD image always has the /usr/lib32 directory, so
test for the more concrete existence of crt1.o. Also enhance the tests
for freebsd to clarify what these trees look like and exercise the new
code.

Thanks to all the FreeBSD folks for helping me understand what caused
the failure and how we might fix it. =] That helps a lot. Also, yay
build bots.

llvm-svn: 148981
2012-01-25 21:32:31 +00:00
Argyrios Kyrtzidis be6d89d255 [driver] Do emit the diagnostics when CompilerInvocation::CreateFromArgs() fails.
llvm-svn: 148970
2012-01-25 20:00:43 +00:00
Chandler Carruth 013820fea3 Add some really minimalist freebsd testing trees and use them in the
freebsd test so that it's behavior isn't dependent on the filesystem of
the host running the tests. This should revive the build bots at least.
The tests and the trees still need a lot of love to make them as useful
and easy to maintain as linux-ld.c.

llvm-svn: 148949
2012-01-25 10:50:34 +00:00
Chandler Carruth 7a8c477f2a Make driver tests more resilient to output trees containing symlinks --
the tests are making assertions about the name of the clang binary, so
we should ensure that the name is as stable as possible.

llvm-svn: 148767
2012-01-24 01:55:55 +00:00
Nick Lewycky 1c8c436a85 Add support for -fno-optimize-sibling-calls. Currently only implemented in the
X86 backend in LLVM.

llvm-svn: 148689
2012-01-23 08:29:12 +00:00
Sebastian Pop 422377cfd3 rename -ccc-host-triple into -target
llvm-svn: 148582
2012-01-20 22:01:23 +00:00
Douglas Gregor 226173ae93 In the driver, -fmodules enables modules for C/Objective-C but one
also needs -fcxx-modules to enable modules for C++/Objective-C++.

llvm-svn: 148393
2012-01-18 15:19:58 +00:00
Eli Friedman 5ceb74a7d0 Make the auto-detection hack for the iOS simulator set the target triple correctly. Getting the target triple wrong mostly appears to work, but messes up in subtle cases; for example, we incorrectly conclude that fwrite is actually named fwrite$UNIX2003. Also shuffles around the auto-detection code a bit to try and make it a bit more reliable. Fixes <rdar://problem/10664848>.
llvm-svn: 148249
2012-01-16 18:50:54 +00:00
Eli Friedman d749c6bf2e Revert r148138; it's causing test failures.
llvm-svn: 148141
2012-01-13 21:33:06 +00:00
Sebastian Pop 9a8d528ddf rename -ccc-host-triple into -target
llvm-svn: 148138
2012-01-13 20:37:02 +00:00
NAKAMURA Takumi 5a5bb93004 test/Driver/debug-options*.c: Tweak r147819 to split out another cc1as-sensitive test. gcc driver is invoked for assembling on cygming.
llvm-svn: 148022
2012-01-12 06:15:01 +00:00
Evgeniy Stepanov a745155d3d More tests for ARM FPU features.
Also remove the svn:eol-style property from the test file.

llvm-svn: 147947
2012-01-11 12:36:39 +00:00
Evgeniy Stepanov 48af2a9e66 Fix -mfpu parsing on ARM.
- Support gcc-compatible vfpv3 name in addition to vfp3.
- Support vfpv3-d16.
- Disable neon feature for -mfpu=vfp* (yes, we were emitting Neon instructions
  for those!).

llvm-svn: 147943
2012-01-11 11:21:31 +00:00
NAKAMURA Takumi d3a5de6768 test/Driver/debug-options-as.c: Mark this as XFAIL:cygwin.
Also cygwin has not supported integrated-as yet.

llvm-svn: 147929
2012-01-11 07:50:51 +00:00
Eric Christopher fc3ee566eb Add -g to the cc1as flags only if we're dealing with an original
source file. Otherwise -g -save-temps will error out on the compile
of any .c file.

Fixes about 4000 of the errors in the clang-tests gdb test suite.

llvm-svn: 147819
2012-01-10 00:38:01 +00:00
Chad Rosier 8fca6b268b [driver] Add support for passing -lazy_framework/-lazy_library to the linker.
rdar://10630328

llvm-svn: 147591
2012-01-05 01:56:11 +00:00
Douglas Gregor 26f9601698 Add a test for the driver-level -fmodules/-fno-modules flags.
llvm-svn: 147480
2012-01-03 21:04:31 +00:00
Chandler Carruth 306bd2c6aa Fix PR11685 by implementing -ffast-math and its various friends in the
Clang driver. This involves a bunch of silly option parsing code to try
to carefully emulate GCC's options. Currently, this takes a conservative
approach, and unless all of the unsafe optimizations are enabled, none
of them are. The fine grained control doesn't seem particularly useful.
If it ever becomes useful, we can add that to LLVM first, and then
expose it here.

This also fixes a few tiny bugs in the flag management around
-fhonor-infinities and -fhonor-nans; the flags now form proper sets both
for enabling and disabling, with the last flag winning.

I've also implemented a moderately terrifying GCC feature where
a language change is also provided by the '-ffast-math' flag by defining
the __FAST_MATH__ preprocessor macro. This feature is tracked and
serialized in the frontend but it isn't used yet. A subsequent patch
will add the preprocessor macro and tests for it.

I've manually tested that codegen appears to respect this, but I've not
dug in enough to see if there is an easy way to test codegen options w/o
relying on the particulars of LLVM's optimizations.

llvm-svn: 147434
2012-01-02 14:19:45 +00:00
NAKAMURA Takumi 84a5dfdf72 Split out clang/test/Driver/debug-options-as.c from debug-options.c, and mark it as XFAIL: mingw32.
Mingw32 target has not supported integrated-as yet.

llvm-svn: 147386
2011-12-31 02:36:23 +00:00
Kevin Enderby fc85b1d1c5 Add missing triple to darwin clang driver test.
llvm-svn: 147179
2011-12-22 21:32:51 +00:00
Kevin Enderby 292dc080e0 Last part of support for generating dwarf for assembly source files. This gets
the clang driver to enable this when assembling a .s file.  rdar://9275556

llvm-svn: 147167
2011-12-22 19:31:58 +00:00
Chandler Carruth 7cf80e3850 Teach the link-step test to verify that we don't pass bad --hash-style
flags on MIPS paltforms.

llvm-svn: 146837
2011-12-17 21:57:25 +00:00
Rafael Espindola 224dd63fff Don't use the frame pointer on linux x86 and x86_64 if optimizing. This
matches gcc's behavior.

Fixes PR8186.

llvm-svn: 146586
2011-12-14 21:02:23 +00:00
Bob Wilson 721d4b858d Enable stack protectors by default for iOS. <rdar://problem/8836680>
llvm-svn: 146552
2011-12-14 06:08:25 +00:00
Hal Finkel 6b89a10b45 add tree test for suse on ppc64 (r146142)
llvm-svn: 146176
2011-12-08 20:36:19 +00:00
Nick Lewycky 32275b9739 Fix test for unrelated changes.
llvm-svn: 145915
2011-12-06 03:46:28 +00:00
Nick Lewycky f4d3f7a0b9 Stack realignment is a tristate. Add -mno-stackrealign to turn off all stack
realignment, even with locals with alignment exceeding the ABI guarantee.

llvm-svn: 145909
2011-12-06 03:33:03 +00:00
Peter Collingbourne 6e6e52b58a Un-XFAIL this test on Darwin, it reportedly passes now.
llvm-svn: 145052
2011-11-21 21:56:51 +00:00
Peter Collingbourne 0e7e3fc130 Delete the depfile if we could not open a header file. We cannot
generate any reasonable depfile if a header is missing.

llvm-svn: 145019
2011-11-21 00:01:14 +00:00
Peter Collingbourne 119cfaa595 Teach the driver about failure result files, which are compilation
output files that are valid regardless of whether the compilation
succeeded or failed (but not if we crash).  Add depfiles to the
failure result file list.

llvm-svn: 145018
2011-11-21 00:01:05 +00:00
Daniel Dunbar e285a7d3f0 tests/Driver/darwin-ld.c: Get rid of the "splatter" test case. We have enough
other coverage that actually properly checks features such that this test is not
really adding value anymore.

llvm-svn: 144868
2011-11-17 00:36:53 +00:00
Benjamin Kramer 116d8879e6 Print a typo correction hint for unknown warning flags.
$ clang -Wololo t.c
warning: unknown warning option '-Wololo'; did you mean '-Wall'? [-Wunknown-warning-option]

llvm-svn: 144591
2011-11-14 23:30:34 +00:00
Matt Beaumont-Gay 8e9aae5999 Don't track depfiles as result files which need to be cleaned up on failure.
This is a partial revert of r143846. While cleaning up after a crash is
probably a good idea, we were also deleting .d files if the compilation failed
due to invalid input, which is not the desired behavior. The test is XFAIL'd
until the cleanup code can be reworked to do the right thing.

llvm-svn: 144590
2011-11-14 23:24:52 +00:00
Chandler Carruth b4aabc88f7 Try to fix an issue on some hosts where the 'lib' in the builtin include
path is actually a multilib.

llvm-svn: 144177
2011-11-09 08:26:57 +00:00
Chandler Carruth 6e46ca2c10 Fix an issue that Duncan discovered on a specific (no longer current)
version of Ubuntu. It has a very broken multiarch configuration, and so
we need special logic to handle it correctly. Fixing and testing this
uncovered a few other trivial issues with the logic that are fixed as
well.

I added tests to cover this as it is hard to notice if you install
recent versions of the OS.

llvm-svn: 144165
2011-11-09 03:46:20 +00:00
NAKAMURA Takumi 04d581665e test/Driver/crash-cleanup.c: Remove "XFAIL: mingw32" corresponding to r143876.
llvm-svn: 143877
2011-11-06 16:59:41 +00:00
NAKAMURA Takumi aee36a196a test/Driver/crash-cleanup.c: Mark as XFAIL: mingw32, for investigating.
"XFAIL: msys" has no effect, due to XFAIL inspects triplet, and msys build does not use *-msys-* but *-mingw32.

llvm-svn: 143868
2011-11-06 09:11:35 +00:00
Peter Collingbourne ae6b2f44c3 XFAIL crash-cleanup.c only on Darwin and msys.
llvm-svn: 143858
2011-11-06 04:32:01 +00:00
Chad Rosier 7533488f62 XFAIL test until Peter has a chance to investigate.
llvm-svn: 143857
2011-11-06 03:42:36 +00:00
Peter Collingbourne 9b515cb0ec Add the depfile as a result file so that it is deleted if we crash,
and prevent the diagnostic preprocessor run from writing a depfile.

llvm-svn: 143846
2011-11-06 00:40:05 +00:00
Chandler Carruth bff1e8d53d Enhance the GCC version parsing and comparison logic to handle some more
edge cases and have better behavior. Specifically, we should actually
prefer the general '4.6' version string over the '4.6.1' string, as
'4.6.2' should be able to replace it without breaking rpaths or any
other place that these paths have been embedded. Debian-based
distributions are already using a path structure with symlinks to
achieve in-place upgrades for patch versions. Now our parsing reflects
this and we select the shorter paths instead of the longer paths.

A separate issue was that we would not parse a leading patch version
number even in the presence of a suffix. The above change makes this
more problematic as it would cause a suffix being added to make us treat
the entire thing as patch-version-agnostic, which it isn't. This changes
the logic to distinguish between '4.4.x' and 4.4.1-x', and retain that
the latter has *some* patch number information. Currently, we always
bias toward the shorter and more canonical version strings. If it
becomes important we can add more Debian like rules to produce sequences
such as '4.4.1b' > '4.4.1' > '4.4.1-rc3' > '4.4.1-rc2' > '4.4.1-pre5',
but I'm very doubtful this will ever matter or be desirable.

I've made the tests for this logic a bit more interesting, and added
some specific tests for logic that is now different.

llvm-svn: 143841
2011-11-05 23:24:30 +00:00
Chad Rosier c2bf338d35 [driver] Don't blindly accept all -g options.
rdar://10383444

llvm-svn: 143732
2011-11-04 19:28:44 +00:00
Bob Wilson d32fba2379 Stop disabling integrated assembler with -static. <rdar://problem/10175391>
The integrated assembler seems to be working pretty well for -static code
now, so remove the hacks to disable it.

llvm-svn: 143304
2011-10-30 00:20:28 +00:00
NAKAMURA Takumi 084e45bc37 test/Driver/debug.c: Mark this as "REQUIRES: shell".
Former RUN line does not make sense on Win32 hosts.
Win32 hosts would not be expected to set appropriate $PWD.

Latter RUN line might be made valid if PathV2::is_absolute("/foo") would be true. Unfortunately, "/foo" should not be treated as absolute path on Win32.

FYI, on mingw32 with MSYS bash (it has 'shell' feature);
Former) $PWD is set as "X:/hogehoge/test/Driver"
Latter) PWD=/foo sets "X:/root/to/msys/foo" to $PWD.

llvm-svn: 142721
2011-10-22 11:28:32 +00:00
Douglas Gregor 3fa37c5be5 XFAIL test on Windows
llvm-svn: 142703
2011-10-21 23:57:02 +00:00
Douglas Gregor c3afe1f8af More speculative test tweaking
llvm-svn: 142701
2011-10-21 23:37:41 +00:00
Douglas Gregor 0a92de06f0 Switch tests from grep to FileCheck
llvm-svn: 142699
2011-10-21 23:20:41 +00:00
Nick Lewycky 197ca87e7e Doug reports that this test is still failing. Try applying Benjamin Kramer's
suggestion!

llvm-svn: 142692
2011-10-21 22:21:24 +00:00
Nick Lewycky 90a47b127b Try to be exceedingly clever and make this test work properly whether it's run
under bash or under cmd.exe.

llvm-svn: 142637
2011-10-21 04:04:49 +00:00
Nick Lewycky 99cc8c01ee Massage this test a little so it works when run inside the Google environment.
llvm-svn: 142635
2011-10-21 03:07:40 +00:00
Nick Lewycky ba743b75cb Take DW_AT_comp_dir from $PWD when it's present and starts with a '/'. This is
closer to what GCC does, except that GCC also checks that the inodes for $PWD
and '.' match.

llvm-svn: 142633
2011-10-21 02:32:14 +00:00
David Blaikie cc5f8f0d9e Switch to the C++11 warning flags in tests.
Patch by Ahmed Charles!

llvm-svn: 142340
2011-10-18 05:54:07 +00:00
Argyrios Kyrtzidis 697729a7de Revert r142311, -mios-simulator-version-min does not work correctly.
llvm-svn: 142322
2011-10-18 00:22:49 +00:00
Argyrios Kyrtzidis 7e16493c9b Remove the hack where we sniff the __IPHONE_OS_VERSION_MIN_REQUIRED define.
We can use -mios-simulator-version-min now. rdar://10218700

llvm-svn: 142311
2011-10-17 23:41:26 +00:00
Bob Wilson 6524dd33be Use Triple.isOSDarwin() instead of comparing against Triple::Darwin.
There are now separate Triple::MacOSX and Triple::IOS values for the OS
so comparing against Triple::Darwin will fail to match those.  Note that
I changed the expected output for the Driver/rewrite-objc.m test, which had
previously not been passing Darwin-specific options with the macosx triple.

llvm-svn: 141944
2011-10-14 05:03:44 +00:00
Richard Smith 172604adb3 Add support for -std=gnu90 and -std=c++03, for compatibility with modern gcc.
llvm-svn: 141922
2011-10-14 00:34:28 +00:00