Commit Graph

152 Commits

Author SHA1 Message Date
Daniel Dunbar 72e90d7fb0 ccc: Suffix for PCH files is appended, not replaced. (Test case)
llvm-svn: 64467
2009-02-13 17:42:52 +00:00
Daniel Dunbar b903a072b1 ccc: Suffix for PCH files is appended, not replaced.
llvm-svn: 64466
2009-02-13 17:42:34 +00:00
Daniel Dunbar 7ae70391f0 ccc: Test case for transparent PTH support.
llvm-svn: 64420
2009-02-13 00:49:50 +00:00
Daniel Dunbar 391fc04b02 ccc: Stop patching output file name when using transparent PTH support.
<rdar://problem/6515236> [ccc] generate expected output files when used with PCH

llvm-svn: 64419
2009-02-13 00:49:01 +00:00
Daniel Dunbar e21993fa98 Always pass -disable-free to clang when compiling.
llvm-svn: 64416
2009-02-13 00:29:22 +00:00
Mike Stump f9cf4fa08c One more tweak to account for gluing together llvm and clang into one.
llvm-svn: 64276
2009-02-11 01:11:36 +00:00
Mike Stump 9d5d3b9de5 More version experimentation.
llvm-svn: 64271
2009-02-11 01:01:17 +00:00
Mike Stump 081e354f11 Run a little experiment with version numbers.
llvm-svn: 64268
2009-02-11 00:36:04 +00:00
Daniel Dunbar 8a1ca06456 ccc: -dM wasn't being passed to Darwin/CC1 correctly.
llvm-svn: 64169
2009-02-09 21:22:38 +00:00
Daniel Dunbar 1a5f04dc66 ccc: Forward -dM to clang.
llvm-svn: 63955
2009-02-06 19:26:48 +00:00
Daniel Dunbar 421d40c22b ccc/Darwin: Add a missing Darwin argument translation, -shared becomes
-dynamiclib. Re-audited translations to make sure I didn't miss
something else.

llvm-svn: 63953
2009-02-06 19:18:58 +00:00
Daniel Dunbar ba3325af7b ccc: Give explicit error on @ style argument lists (not yet supported).
llvm-svn: 63903
2009-02-06 01:28:59 +00:00
Daniel Dunbar 724167c280 ccc: Implement special language recognition handling for -.
- <rdar://problem/6551577> [ccc] require -x with -

llvm-svn: 63901
2009-02-05 23:44:44 +00:00
Daniel Dunbar e7dffe39ff ccc: Translate -O to -O1 for clang, and only pass last -O option.
llvm-svn: 63816
2009-02-05 02:43:38 +00:00
Daniel Dunbar ed9309ef46 ccc: Forward -femit-all-decls to clang and use an option group to
simplify handling of -f options clang recognizes.

llvm-svn: 63778
2009-02-04 21:21:08 +00:00
Daniel Dunbar 3ba943ed7a ccc: -ObjC and -ObjC++ change default language, but only for "source
files".

llvm-svn: 63727
2009-02-04 08:01:01 +00:00
Daniel Dunbar ed1ba4fc12 Use /usr/bin/env to run Python for increased portability. Patch by
David Chisnall.

llvm-svn: 63661
2009-02-03 21:25:26 +00:00
Mike Stump c99d003b25 Add -fno-blocks support. This fixes block-no-block-def.c.
llvm-svn: 63385
2009-01-30 08:22:07 +00:00
Daniel Dunbar 6d6d01f254 ccc: Forward -fobjc-nonfragile-abi to clang.
llvm-svn: 63378
2009-01-30 04:43:19 +00:00
Daniel Dunbar 3fc8ea64c9 ccc: Add -Xclang option, rename -WA, to -Xanalyzer.
- -Xclang always forwards to clang

 - -Xanalyzer replaces -WA,; it seems like the cleaner mechanism and
    is more readable.

llvm-svn: 63349
2009-01-30 00:24:16 +00:00
Daniel Dunbar b6e6a513c2 ccc: Mark -combine option as unsupported.
llvm-svn: 63348
2009-01-30 00:12:29 +00:00
Daniel Dunbar 711e882c1b ccc: Embrace destiny as a clang compiler driver.
This redoes the default mode that ccc runs in w.r.t. using clang. Now
ccc defaults to always using clang for any task clang can
handle. However, the following options exist to tweak this behavior:

 -ccc-no-clang: Don't use clang at all for compilation (still used for
  static analysis).
 
 -ccc-no-clang-cxx: Don't use clang for C++ and Objective-C++ inputs.

 -ccc-no-clang-cpp: Don't use clang as a preprocessor.

 -ccc-clang-archs <archs>: If present, only use clang for the given
  comma separated list of architectures. This only works on Darwin for
  now.

Note that all -ccc options must be first on the command line.

llvm-svn: 63346
2009-01-29 23:54:06 +00:00
Daniel Dunbar df49b7cf2f ccc: Honor -ccc-clang for generic GCC toolchain.
llvm-svn: 63277
2009-01-29 06:12:22 +00:00
Daniel Dunbar ad0d48d372 Fix test case (for -### printing version)
llvm-svn: 63223
2009-01-28 19:30:43 +00:00
Daniel Dunbar 36ccb30a35 ccc: Support -v; invent a version number for ccc for now, will be
shared with clang eventually.

llvm-svn: 63220
2009-01-28 19:26:20 +00:00
Daniel Dunbar f4a0cba545 ccc/Darwin/clang: Fix a mistranslation for the llvm-backend; llvm-gcc
doesn't set the relocation model when -mdynamic-no-pic is present.

llvm-svn: 63129
2009-01-27 20:42:58 +00:00
Daniel Dunbar 2ad3ff0bd6 ccc: Normalize machine name to i386 for platforms which report the
machine as x86_64.

llvm-svn: 63122
2009-01-27 19:29:51 +00:00
Daniel Dunbar a7ff032643 ccc: -o should not be automatically forwarded to generic gcc tools.
llvm-svn: 63015
2009-01-26 18:00:14 +00:00
Daniel Dunbar f3a06113c7 ccc: Recognize -emit-llvm [-S].
- Unlike llvm-gcc, this doesn't yet treat -emit-llvm output as a
   linker input.

llvm-svn: 63014
2009-01-26 17:09:15 +00:00
Daniel Dunbar 3d5d14ea15 ccc: Finish definition of long argument translations.
- However, these last ones do not actually work; the issue is that
   they translate to batches of options and need to be reparsed. For
   now we just give an unsupported error on them.

llvm-svn: 62872
2009-01-23 20:08:16 +00:00
Daniel Dunbar 505f751451 ccc: Another batch of long argument translations.
- Again turned up a few which don't do anything sensible.

llvm-svn: 62870
2009-01-23 19:40:54 +00:00
Daniel Dunbar 8fb96605f8 ccc: Implement long options which take joined & separate forms.
llvm-svn: 62841
2009-01-23 08:16:41 +00:00
Daniel Dunbar 8fa972a55b ccc: Support long ('--...') flag arguments.
- Curiously, a number of the current translations gcc does appear to
   be useless?

llvm-svn: 62831
2009-01-23 02:00:46 +00:00
Daniel Dunbar e2c430b317 ccc: Organize long options together.
llvm-svn: 62829
2009-01-23 01:31:44 +00:00
Daniel Dunbar eff67fa33b ccc: Add support for several more aliases (--ansi, --assemble,
--assert, --classpath).
 - Requires providing some option parameters to over-ride rendering in
   order to match gcc. There may be a cleaner way to do this (probably
   by introducing a new option type for long JoinedOrSeparate forms).

llvm-svn: 62825
2009-01-23 00:54:03 +00:00
Daniel Dunbar 58645d0285 ccc: Darwin/x86/link: Fix a few incompatibilities with gcc (missed
forwarding -s to linker, and was only taking last arg in some cases
when should have been taking all).

llvm-svn: 62824
2009-01-23 00:39:52 +00:00
Daniel Dunbar 4bb6a2fcd3 ccc: Add support for "alias" options.
- Unlike groups (which gather distinct but related options), aliases
   are for options like '--all-warnings' which are effectively treated
   like some other option ('-Wall') both in the driver logic and when
   passing to tools.

llvm-svn: 62820
2009-01-23 00:14:46 +00:00
Daniel Dunbar ccabd0f01a ccc: Fix typo; isn't dynamic typing fun!
llvm-svn: 62817
2009-01-23 00:04:43 +00:00
Daniel Dunbar 2e1cfd0267 ccc: Bug fix, driver logic was allowing child jobs to pipe output when
parent wasn't expecting it.

llvm-svn: 62811
2009-01-22 23:19:32 +00:00
Daniel Dunbar d89187696f ccc/clang: Mimic llvm-gcc initialization of LLVM backend based on gcc
options (for example, to set relocation model or enable unwind table generation).

llvm-svn: 62740
2009-01-22 01:55:46 +00:00
Daniel Dunbar d00bca3572 ccc: Handle a few long argument form (--) translations using option
groups, and fix misdeclaration of some -W options.

llvm-svn: 62702
2009-01-21 18:49:34 +00:00
Daniel Dunbar f2e3d81cb4 ccc: Add appropriate file search prefixes when on x86_64 Darwin, and
look for crt3.o appropriately.

llvm-svn: 62694
2009-01-21 17:18:19 +00:00
Daniel Dunbar a184754570 ccc: Implement file & path searching.
- Toolchain is responsible for providing list of prefixes to search.

 - Implement -print-file-name=xxx and -print-prog-name=xxx driver options.

llvm-svn: 62659
2009-01-21 02:03:52 +00:00
Daniel Dunbar 309052a84c ccc: Add --analyze test case.
llvm-svn: 62654
2009-01-21 01:22:37 +00:00
Daniel Dunbar 989ab477d2 ccc: Add --analyze driver mode (for running static analyzer).
- For now forces generation of plist files, need to think about the
   right interface.

 - Changed -fsyntax-only mode to be its own phase (more consistent).

 - Add -WA, for passing options verbatim to analyzer.

llvm-svn: 62649
2009-01-21 01:07:49 +00:00
Daniel Dunbar 47d16e53fe ccc: Unbreak -pipe handling broken in previous refactoring.
llvm-svn: 62637
2009-01-21 00:05:15 +00:00
Mike Stump c1b44ce610 Fix ccclib building when building in a separate build tree.
llvm-svn: 62621
2009-01-20 21:54:36 +00:00
Daniel Dunbar de46097847 ccc: Allow downstream tools to be aware of final output name.
- This is a hack to allow the Darwin linker to get -final_output when
   doing universal builds; the mechanism should be generalized.

 - Handle multiple redundant -arch arguments correctly.

 - Forward -arch_multiple and -final_output to gcc when necessary.

 - Simplified implementation of derived gcc tools.

llvm-svn: 62618
2009-01-20 21:29:14 +00:00
Daniel Dunbar 7966091399 ccc: Darwin/x86: Teach compile tool how to build .pch files. xcc is
now fully independent of the gcc driver when targetting Darwin/x86.

llvm-svn: 62570
2009-01-20 05:51:52 +00:00
Daniel Dunbar 8bc09f4085 ccc: PCH generation doesn't strip the path when generating a derived
filename from the input path.

llvm-svn: 62569
2009-01-20 05:49:32 +00:00