Граф коммитов

298 Коммитов

Автор SHA1 Сообщение Дата
Daniel Dunbar 209333506a ccc/Driver: Normalize phase spelling in -ccc-print-phases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66912 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 17:52:07 +00:00
Daniel Dunbar ab835430b4 Driver: Return 0 from BuildCompilation on -ccc-print-phases,
-ccc-print-options.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66907 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 17:24:34 +00:00
Daniel Dunbar 26308bafd3 ccc: Don't print the arch for every action when printing phases.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66886 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 12:16:31 +00:00
Daniel Dunbar 3bf8224fa3 ccc/Driver: Forward -fprint-source-range-info to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66879 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 10:03:45 +00:00
Daniel Dunbar 8b1604ece7 ccc/Driver: Mark {dump{machine,specs,version},
print-{multi-{directory,lib,os-directory}, search-dirs} as unsupported
instead of handling separately.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66848 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-13 00:17:48 +00:00
Daniel Dunbar 00171ffc8e ccc: Fix broken assertion.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66793 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12 15:59:34 +00:00
Daniel Dunbar 5f22d7dc80 ccc: Fix -ccc-print-phases when doing a universal build.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66792 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12 15:57:47 +00:00
Daniel Dunbar 4ad4b3ebbe Driver: Use standard Diagnostic interface for diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66786 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12 08:55:43 +00:00
Daniel Dunbar 008dd35220 ccc: Tweak some group names.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66772 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12 04:50:20 +00:00
Daniel Dunbar d639b42fb1 ccc: Cleanup arguments a bit; we don't need a separate group for
-fblocks, and there were some duplicate options scattered in.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66764 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-12 03:28:55 +00:00
Daniel Dunbar 105e9d75d9 ccc: -x assembler-with-cpp was broken for darwin, and it wasn't using
clang as the preprocessor even when it should.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66737 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-11 23:07:54 +00:00
Daniel Dunbar dd98e2cad1 Driver: Add host info.
- Replace assorted -ccc-host-* options by -ccc-host-triple which is
   more sane.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66600 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 23:41:59 +00:00
Daniel Dunbar 365c02f65b Driver: Handle magic -ccc- options.
- Follows ccc currently, but this functionality should eventually be
   outside the Driver lib.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66575 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 20:52:46 +00:00
Daniel Dunbar 9db8f5d743 Forward -ftemplate-depth-<N> to clang's -ftemplate-depth N.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66516 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10 00:35:30 +00:00
Daniel Dunbar cad3df8412 ccc: Parse -T{bss,data,text}, -iwithsysroot, -specs correctly.
Also, fix some test cases.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66425 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-09 17:43:51 +00:00
Daniel Dunbar 5ea766a6ac Fix thinko. *cough* ofcourseItestedit *cough*
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66283 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 18:35:43 +00:00
Daniel Dunbar 6370812b42 Tidy file removal cleanup & remove race condition on file existence.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66281 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 18:32:01 +00:00
Daniel Dunbar 1b3bb6efc5 Driver: Sink Driver/Compilation into clang::driver namespace.
- Add OptTable instance to Driver.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66063 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04 20:49:20 +00:00
Daniel Dunbar 3639b4d0d3 ccc: Fix passing of -nozero-initialized-in-bss.
- PR3722.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66052 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04 19:17:10 +00:00
Daniel Dunbar 2c6f6f3c17 Driver: More Option implementation.
- Add Options.def file, collects option information.

 - Actual option instantiation is handled lazily by OptTable to allow
   the driver to not need to instantiate all options.

 - cast<> support for Option, other minor tweaks.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66028 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-04 08:33:23 +00:00
Daniel Dunbar 1eb4e64eed Sketch Driver Option classes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65933 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-03 05:55:11 +00:00
Daniel Dunbar 3ede8d0a7d Stub out some structure for C++ driver.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65867 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-02 19:59:07 +00:00
Ted Kremenek d76c6a38b8 Do not automatically run the 'missing -dealloc' check until we have adequate time to make it much smarter (too much noise).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65474 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-25 21:08:30 +00:00
Daniel Dunbar b89c106114 ccc: Don't remove result files on error when -save-temps is present.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65349 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-23 23:37:18 +00:00
Daniel Dunbar 8e111c77e4 ccc: Remove unknown host warning, it was breaking gcc's configure.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65276 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22 08:15:14 +00:00
Daniel Dunbar 9ff1c0784c ccc: Remove temporary files used in compilation, and remove
compilation results on failures.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65254 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-22 01:23:52 +00:00
Daniel Dunbar 2b91d502a5 Unbreak Darwin PIC handling; my refactoring yesterday was bogus.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65154 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20 20:52:47 +00:00
Daniel Dunbar 9876edc067 Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65139 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20 18:53:07 +00:00
Daniel Dunbar 3198be8ab5 ccc: Spell mattr correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65119 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20 07:47:48 +00:00
Daniel Dunbar 4311e4507a ccc: Basic translation of gcc subtarget feature options to LLVM
options (i.e., -mno-red-zone, -msoft-float, -mno-sse, etc.)
 - Also, make sure unwind tables default to on Darwin/x86_64.
 - PR3604.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65118 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20 07:35:04 +00:00
Daniel Dunbar c4556d1151 ccc: Use toolchain hook for default relocation model value.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65116 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20 06:48:26 +00:00
Daniel Dunbar a805135a16 ccc: Use toolChain arch name instead of looking for arch command line
argument; the toolchain should always know the arch.
 - Fixes: <rdar://problem/6582911> -ccc-clang-archs doesn't work for excluding ppc


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65104 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20 01:48:01 +00:00
Daniel Dunbar 15423b066d ccc: Store arch name in all toolchains.
- No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65102 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20 01:36:35 +00:00
Daniel Dunbar 5e187a16f7 ccc: Give all tools access to the toolchain they are in.
- No functionality change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65100 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-20 01:30:38 +00:00
Daniel Dunbar eeb44ce483 ccc: Give nicer error when spawning a subprocess fails.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65075 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-19 22:59:57 +00:00
Daniel Dunbar f084663ed0 ccc: Also look for .gch files when seeing if we should auto load a
token-cache for clang.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@65069 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-19 22:01:23 +00:00
Daniel Dunbar 00dbfde0d7 ccc: Forward -ftime-report to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64887 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-18 05:01:43 +00:00
Daniel Dunbar d563e52c37 ccc: Pass -{MM,MMD,MF,MP,MT} to clang. Error on -{M,MM,MG,MQ} which
clang doesn't support yet.
 - See PR3603.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64783 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-17 19:02:12 +00:00
Daniel Dunbar 360c6ce217 ccc: Recognize -isystem.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64776 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-17 18:10:48 +00:00
Daniel Dunbar 48d0d61001 ccc: Assume gcc will accept piped assembler input when using generic GCC toolchain.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64775 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-17 18:10:15 +00:00
Daniel Dunbar 87a7b2833e ccc: Fix a FIXME.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-17 18:07:00 +00:00
Ted Kremenek be1fe1eb12 Static Analyzer driver/options (partial) cleanup:
- Move all analyzer options logic to AnalysisConsumer.cpp.
- Unified specification of stores/constraints/output to be:
   -analyzer-output=...
   -analyzer-store=...
   -analyzer-constraints=...
  instead of -analyzer-range-constraints, -analyzer-store-basic, etc.
- Updated drivers (ccc-analyzer, scan-builds, new ccc) to obey this new
  interface
- Updated test cases to conform to new driver options


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64737 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-17 04:27:41 +00:00
Daniel Dunbar 27a02acd23 ccc: Pass -f[no-]math-errno to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64709 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-17 00:42:05 +00:00
Daniel Dunbar 83d67909f9 ccc: @<filename> arguments are only treated specially if <filename>
exists, otherwise gcc just treats as an input.
 - PR3591


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64640 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-16 18:18:43 +00:00
Daniel Dunbar 41577f1130 ccc: Pass -P to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64578 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-15 05:59:37 +00:00
Douglas Gregor 3573c0c0b4 Add -ffreestanding to suppress the implicit declaration of library builtins like printf and malloc. Fixes PR3586
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64566 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-14 20:49:29 +00:00
Daniel Dunbar 1ee821b0b9 ccc: Suffix for PCH files is appended, not replaced. (Test case)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64467 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-13 17:42:52 +00:00
Daniel Dunbar faa20c7f41 ccc: Suffix for PCH files is appended, not replaced.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64466 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-13 17:42:34 +00:00
Daniel Dunbar 501525eed4 ccc: Test case for transparent PTH support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64420 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-13 00:49:50 +00:00
Daniel Dunbar 3d2b79020a ccc: Stop patching output file name when using transparent PTH support.
<rdar://problem/6515236> [ccc] generate expected output files when used with PCH


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64419 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-13 00:49:01 +00:00
Daniel Dunbar 0a3e3caa15 Always pass -disable-free to clang when compiling.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64416 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-13 00:29:22 +00:00
Mike Stump 77a60115e3 One more tweak to account for gluing together llvm and clang into one.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64276 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-11 01:11:36 +00:00
Mike Stump 84606bb63f More version experimentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64271 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-11 01:01:17 +00:00
Mike Stump e6c4f65bd4 Run a little experiment with version numbers.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64268 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-11 00:36:04 +00:00
Daniel Dunbar 8aa6181260 ccc: -dM wasn't being passed to Darwin/CC1 correctly.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64169 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-09 21:22:38 +00:00
Daniel Dunbar 8425a0f7b5 ccc: Forward -dM to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63955 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-06 19:26:48 +00:00
Daniel Dunbar 2ceb041eb3 ccc/Darwin: Add a missing Darwin argument translation, -shared becomes
-dynamiclib. Re-audited translations to make sure I didn't miss
something else.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63953 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-06 19:18:58 +00:00
Daniel Dunbar 5e83baaaaa ccc: Give explicit error on @ style argument lists (not yet supported).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63903 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-06 01:28:59 +00:00
Daniel Dunbar bbd34e6658 ccc: Implement special language recognition handling for -.
- <rdar://problem/6551577> [ccc] require -x with -


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63901 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 23:44:44 +00:00
Daniel Dunbar c1212a39e0 ccc: Translate -O to -O1 for clang, and only pass last -O option.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63816 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-05 02:43:38 +00:00
Daniel Dunbar 33244aa31d ccc: Forward -femit-all-decls to clang and use an option group to
simplify handling of -f options clang recognizes.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63778 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 21:21:08 +00:00
Daniel Dunbar fb54849903 ccc: -ObjC and -ObjC++ change default language, but only for "source
files".


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63727 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-04 08:01:01 +00:00
Daniel Dunbar 0eb59312c7 Use /usr/bin/env to run Python for increased portability. Patch by
David Chisnall.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63661 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-03 21:25:26 +00:00
Mike Stump b55cc635f5 Add -fno-blocks support. This fixes block-no-block-def.c.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63385 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 08:22:07 +00:00
Daniel Dunbar ba362f6478 ccc: Forward -fobjc-nonfragile-abi to clang.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63378 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 04:43:19 +00:00
Daniel Dunbar 6949ce44f8 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63349 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 00:24:16 +00:00
Daniel Dunbar e4c0da8312 ccc: Mark -combine option as unsupported.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63348 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-30 00:12:29 +00:00
Daniel Dunbar 350b5d437e 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63346 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 23:54:06 +00:00
Daniel Dunbar 2d43e3bbd2 ccc: Honor -ccc-clang for generic GCC toolchain.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63277 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-29 06:12:22 +00:00
Daniel Dunbar 64134057d2 Fix test case (for -### printing version)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63223 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28 19:30:43 +00:00
Daniel Dunbar 76715913cd ccc: Support -v; invent a version number for ccc for now, will be
shared with clang eventually.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63220 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28 19:26:20 +00:00
Daniel Dunbar 6262cc40d8 ccc/Darwin/clang: Fix a mistranslation for the llvm-backend; llvm-gcc
doesn't set the relocation model when -mdynamic-no-pic is present.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63129 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-27 20:42:58 +00:00
Daniel Dunbar bac51fa0fd ccc: Normalize machine name to i386 for platforms which report the
machine as x86_64.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63122 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-27 19:29:51 +00:00
Daniel Dunbar fd8d98f3ed ccc: -o should not be automatically forwarded to generic gcc tools.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63015 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-26 18:00:14 +00:00
Daniel Dunbar b2f3795894 ccc: Recognize -emit-llvm [-S].
- Unlike llvm-gcc, this doesn't yet treat -emit-llvm output as a
   linker input.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@63014 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-26 17:09:15 +00:00
Daniel Dunbar d9fb972661 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62872 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 20:08:16 +00:00
Daniel Dunbar d013f4a994 ccc: Another batch of long argument translations.
- Again turned up a few which don't do anything sensible.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62870 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 19:40:54 +00:00
Daniel Dunbar 09d5b16d0e ccc: Implement long options which take joined & separate forms.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62841 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 08:16:41 +00:00
Daniel Dunbar f86fa32743 ccc: Support long ('--...') flag arguments.
- Curiously, a number of the current translations gcc does appear to
   be useless?


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62831 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 02:00:46 +00:00
Daniel Dunbar 5ac00d01b8 ccc: Organize long options together.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62829 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 01:31:44 +00:00
Daniel Dunbar 6fbb2fb2be 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).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62825 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 00:54:03 +00:00
Daniel Dunbar b644be30c0 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).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62824 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 00:39:52 +00:00
Daniel Dunbar 990bd1edb5 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62820 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 00:14:46 +00:00
Daniel Dunbar 2910dfa80d ccc: Fix typo; isn't dynamic typing fun!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62817 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-23 00:04:43 +00:00
Daniel Dunbar 5f02d55455 ccc: Bug fix, driver logic was allowing child jobs to pipe output when
parent wasn't expecting it.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62811 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-22 23:19:32 +00:00
Daniel Dunbar 1e1d2c6d68 ccc/clang: Mimic llvm-gcc initialization of LLVM backend based on gcc
options (for example, to set relocation model or enable unwind table generation).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62740 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-22 01:55:46 +00:00
Daniel Dunbar ab95c3959f ccc: Handle a few long argument form (--) translations using option
groups, and fix misdeclaration of some -W options.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62702 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 18:49:34 +00:00
Daniel Dunbar 7023082bee ccc: Add appropriate file search prefixes when on x86_64 Darwin, and
look for crt3.o appropriately.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62694 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 17:18:19 +00:00
Daniel Dunbar 768be1c162 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62659 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 02:03:52 +00:00
Daniel Dunbar 18c9673c04 ccc: Add --analyze test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62654 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 01:22:37 +00:00
Daniel Dunbar de388a56b3 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62649 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 01:07:49 +00:00
Daniel Dunbar f93ebd9f1b ccc: Unbreak -pipe handling broken in previous refactoring.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62637 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-21 00:05:15 +00:00
Mike Stump 09abfea5b6 Fix ccclib building when building in a separate build tree.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62621 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 21:54:36 +00:00
Daniel Dunbar 7c584969d3 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.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62618 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 21:29:14 +00:00
Daniel Dunbar 4e3d7626e4 ccc: Darwin/x86: Teach compile tool how to build .pch files. xcc is
now fully independent of the gcc driver when targetting Darwin/x86.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62570 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 05:51:52 +00:00
Daniel Dunbar 88990f3506 ccc: PCH generation doesn't strip the path when generating a derived
filename from the input path.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62569 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 05:49:32 +00:00
Daniel Dunbar fce72bc19c ccc: Recognize that -M and -MM only run preprocessor.
- Clean up some placement of output args to match gcc more precisely
   (for testing).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62566 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 01:53:54 +00:00
Daniel Dunbar 06172d6807 ccc: Darwin/x86: Add direct cpp support.
- Add Darwin_X86_CC1Tool which is shared by Darwin/x86/Compile and
   Darwin/x86/Preprocess tools.

 - Minor bug fixes (CmpDriver exit code, -x cpp-output handling, some
   linker argument translation).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62551 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-20 00:47:24 +00:00
Daniel Dunbar 7ce86f0839 Makefile isn't executable.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62523 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-19 19:59:59 +00:00
Daniel Dunbar fec7c2a9d0 ccc: Add missing file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62520 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-19 19:20:01 +00:00
Daniel Dunbar c72e5aee74 ccc: Add installation of ccc; based on patch from Mike Stump.
- This doesn't follow normal installation procedure of python
   code, but no sense trying too hard since ccc will be moved to
   C++.

 - Entry point is now tools/ccc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62517 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-19 18:50:49 +00:00
Daniel Dunbar af44a62640 ccc: Bug fix, pch generation should not try to output on pipe and -E
should. This needs cleanup.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62473 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-18 21:35:24 +00:00
Anders Carlsson 6f26dc91fd Fix a tyop
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62453 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-18 02:54:30 +00:00
Anders Carlsson 0f7d9ec3af Make CCC_ECHO output to stderr
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62452 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-18 02:54:17 +00:00
Anders Carlsson c432dc7ce3 Fix a runtime error I saw
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62448 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-18 02:19:54 +00:00
Daniel Dunbar 7d791fd22e ccc: Support running piped jobs (-pipe now works).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62396 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-17 02:02:35 +00:00
Daniel Dunbar 470104edfd ccc: Don't be pedantically compatible with -Z options, these are the
result of an internal implementation detail of gcc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62389 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-17 00:53:19 +00:00
Daniel Dunbar 9471345ae6 ccc: Clean up (user level) error handling.
- ccc now checks for existence of input files (more annoying to test,
   but matches gcc).
 - Fix some test cases.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62378 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 23:12:12 +00:00
Daniel Dunbar a22c16dd89 ccc: Fix thinko, add gross but effective test of translation for Darwin/X86/cc1.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62360 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 21:20:42 +00:00
Daniel Dunbar 105132e722 ccc: Darwin/X86: gcc compatibility, only add
'-feliminate-unused-debug-symbols' in reponse to '-g' (not '-g*').


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62357 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 21:07:21 +00:00
Daniel Dunbar 9c3ea76809 ccc: Darwin/X86: Implement remainder of (non -Z...) generic argument
translation.
 - As is my general strategy, this is initially pedantically
   compatible with gcc and can be cleaned up later. So, for example,
   we still pass -static to collect2 4 times if you say '-mkernel
   -fapple-kext'. ;)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62353 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-16 20:25:36 +00:00
Daniel Dunbar 89db21fec8 ccc: Implement support clang PTH using gcc PCH style interface.
This requires some hackery, as gcc's PCH mechanism changes behavior,
whereas while PTH is simply a cache. Notably:

 - Automatically cause clang to load a .pth file if we find one that
   matches a command line -include argument (similar to how gcc
   looks for .gch files).

 - When generating precompiled headers, translate the suffix from .gch
   to .pth (so we do not conflict with actual gcc PCH files).

 - When generating precompiled headers, copy the input header to the
   same location as the output PTH file. This is necessary because gcc
   supports -include xxx.h even if xxx.h doesn't exist, but for clang
   we need to actually have the contents of this file available.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62246 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 23:26:40 +00:00
Daniel Dunbar 3cde3251ed ccc: Finish main clang compiler argument translation.
- Still missing some odds and ends like -M.

 - Also, we still need to do some translation and forwarding of
   codegen options.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62241 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 19:42:31 +00:00
Daniel Dunbar 82fbac5462 ccc: Darwin/Compiler: Improve gcc compat in use of -auxbase-strip.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 03:31:16 +00:00
Daniel Dunbar bfcbc90938 ccc: Implement argument translation for clang.
- This is what ccc (old) currently handles.

 - Clang accepts some more things that aren't getting forwarded...


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62210 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 01:50:15 +00:00
Daniel Dunbar cc9f4f466a ccc: Add hello.{cpp,m} tests.
- hello.cpp is XFAIL pending g++ emulation.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62208 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 01:34:13 +00:00
Daniel Dunbar fb7ea277cd ccc: Add -ccc-echo special option, and support pulling CCC_CLANG,
CCC_ECHO, and CCC_FALLBACK from environment as ccc (old) did.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62207 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 01:32:05 +00:00
Daniel Dunbar 44833db628 ccc: Use Clang/Compile for Objective-C files as well.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62206 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 01:30:55 +00:00
Daniel Dunbar 33a5d61366 ccc: Add dummy Clang/Compile tool and use on Darwin/X86 for C files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62204 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 01:03:36 +00:00
Daniel Dunbar edd1e2a362 ccc: Darwin/Compile: Define __private_extern__ when building c++.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62200 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-14 00:06:14 +00:00
Daniel Dunbar 3bd391b569 ccc: Fix a test case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62183 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 21:11:28 +00:00
Daniel Dunbar 25d4a8fc3b ccc: Darwin: Implement some important general argument translations
for the Darwin tool chain.
 - Ideally we would localize these to tool specific argument
   processing but for now this matches gcc closely.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62181 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 21:07:43 +00:00
Daniel Dunbar 11672ec82f ccc: Allow internal tool chain specific argument translation.
- Pulled -Xarch processing into this.

 - Get rid of manual creation of forwarding arg array.

 - Use Darwin/CC1 instead of generic GCC cc1 on X86.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62172 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 18:51:26 +00:00
Daniel Dunbar 18a7c8cc40 ccc: Bug fix, '-f...' should be part of the '-f' group.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62157 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 07:39:45 +00:00
Daniel Dunbar 841ceeaa1a ccc: Darwin/Link also runs dsymutil in one very particular situation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62154 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 06:44:28 +00:00
Daniel Dunbar 7629053d7d ccc: Bug fix and gcc compatibility tweak.
- --gstabs only goes to Darwin/Assembler when dealing with an
     assembly file from the command line.

 - Relative placement of -o option for cc1 moves depending on
   -fsyntax-only/-S, how quaint.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62152 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 06:25:31 +00:00
Daniel Dunbar 8bf90fd7d2 ccc: Add option groups.
- Simple mechanism for group together sets of options so the driver
   can efficiently deal with them as a group (i.e., for forwarding -i*
   to cc1).

 - Use to finish off the major missing pieces of Darwin/CC1 support.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62149 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 05:54:38 +00:00
Daniel Dunbar 11505a90aa ccc: Darwin/CC1: Hardcode (for now) some -m options to match gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62146 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 04:51:51 +00:00
Daniel Dunbar 1f73ecb228 ccc: Allow host to over-ride default arch based on command line
arguments (e.g., -m32 and -m64).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62145 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 04:05:40 +00:00
Daniel Dunbar 93a08e6dd7 ccc: Darwin/CC1: Be bug compatible with gcc in a corner case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62131 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-13 01:04:40 +00:00
Daniel Dunbar 1e0ead411b ccc: Bug fix, output can be NULL.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62108 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 22:19:59 +00:00
Daniel Dunbar b37c9654c9 ccc: Even more Darwin/cc1 argument translation support.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62105 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 21:44:10 +00:00
Daniel Dunbar 3ecc20f17c ccc: Add leading space in -### output to match gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62097 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 19:36:35 +00:00
Daniel Dunbar dff9f50a52 ccc: (Darwin) More argument translation for Darwin/Compile tool.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62093 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 18:51:02 +00:00
Daniel Dunbar 816dd50947 ccc: (Darwin) More argument translation for Darwin/Compile tool.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62089 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 17:53:19 +00:00
Daniel Dunbar 6325fcf532 ccc: (Darwin) Start implementing argument translation for
Darwin/Compile tool.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62085 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 09:23:15 +00:00
Daniel Dunbar 3235fdb001 ccc: When constructing a named output, only use base name (not full
path).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62083 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 07:48:07 +00:00
Daniel Dunbar 9cb225333f ccc: (Darwin) Move path resolution into ToolChain.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62082 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 07:45:49 +00:00
Daniel Dunbar 996ce9646a ccc: Implement the rest of Darwin/Assembler argument translation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62081 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 07:40:25 +00:00
Daniel Dunbar 4a0ba1aac1 ccc: Implement macosx-version-min conditions (including a bug fix).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62079 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 05:02:38 +00:00
Daniel Dunbar 9c257c3922 ccc: Generalize Darwin/Link tool based on Darwin version.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62078 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 04:21:12 +00:00
Daniel Dunbar 2ec55bcb66 ccc: Support arguments which behave like linker inputs.
- Support comma joined options which magically turn into multiple
   value arguments (e.g., -Wl,)

 - Split out separate Arg::render routine for when an argument is
   being rendered as an input (as opposed to in its original form).

 - Add option flag for options which should be rendered without the
   option when they are used as an input (e.g., -Xlinker or -o).

 - Support -weak-l..., -weak_framework, and -weak_library.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62075 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 03:33:58 +00:00
Daniel Dunbar ee8cc26f37 ccc: (Darwin) Pass -ObjC to linker if -ObjC, -ObjC++ or -fobjc is
present.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12 02:24:21 +00:00
Daniel Dunbar 9c199a0b6d ccc: Add fairly complete argument translation for Darwin link step.
- Some things are still hardcoded, and macosx-version-min comparison
   isn't implemented, but otherwise this very closely matches gcc.

 - The one exception is that arguments (like -framework or -Wl,) which are
   treated as linker inputs instead of options are not being
   forwarded yet.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62059 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11 23:13:15 +00:00
Daniel Dunbar 0fe5a4f4f6 ccc: Add several convenience methods for argument translation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62057 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11 22:42:24 +00:00
Daniel Dunbar 6f5d65a17d ccc: Add and name a host of arguments.
- Also, fix bug in MultipleValuesOption which was accepting joined
   arguments.

 - Add ArgList::getArgs, provides iterator over all arg instances for a
   given option.
 
 - Option definition is very much in need of cleaning...


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62054 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11 22:12:37 +00:00
Daniel Dunbar bee1f0d439 ccc: Give the Host an opportunity to switch ToolChains when binding
archs (as a driver driver).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62053 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11 22:06:22 +00:00
Daniel Dunbar e99f9260d1 ccc: Print -### output on stderr to match gcc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62052 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11 22:03:55 +00:00
Daniel Dunbar 4312472607 ccc: Introduce ToolChains for mapping Actions to Tools which can
perform them.

 - A ToolChain is a coherent set of tools use in a compilation
   process. The idea is that a ToolChain holds roughly the information
   (specs, search paths, etc.) that is in a single gcc binary.

 - The default ToolChain is selected by the host and will generally
   correspond to what the default system compiler would do. However,
   this can be over-riden for a variety of purposes, for example the
   by the driver driver or for testing.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62021 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-10 02:07:54 +00:00
Daniel Dunbar a9ad2bc663 ccc: Add generic assembler & linker tools which effectively shell out
to gcc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62020 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-10 02:00:04 +00:00