Daniel Dunbar
00c57967da
Revert r108672, "Implement support for reading arguments specified in a file
...
with @file.", it doesn't correctly handle cases where arguments starting with
'@' are passed to other command line arguments.
llvm-svn: 108686
2010-07-19 07:21:12 +00:00
Rafael Espindola
129e43d29b
Implement support for reading arguments specified in a file with @file .
...
llvm-svn: 108672
2010-07-19 03:08:01 +00:00
Daniel Dunbar
e38764c66c
Driver: Change the driver to take the path to the main executable, instead of
...
taking it in pieces.
- Fixes a problem where the Clang executable path was not initialized properly
on Win32, because sys::Path::getBasename() doesn't do what I always think it
does. Imagine that, a sys::Path interface that is confusing!
llvm-svn: 108667
2010-07-19 00:44:04 +00:00
Rafael Espindola
7661436220
Refactor the code a bit so that there is only one call to BuildCompilation. The
...
StringPointers vector will also be used in the normal case to handle @file
arguments.
llvm-svn: 108660
2010-07-18 22:03:55 +00:00
Daniel Dunbar
2fcaa549a8
Driver/MC: Add 'clang -cc1as' integrated assembler tool, currently accepts approximately the same interface as 'llvm-mc'.
...
llvm-svn: 104239
2010-05-20 17:49:16 +00:00
Daniel Dunbar
e43887bd2b
Driver: Add support for a CLANGXX_IS_PRODUCTION build variable, which enable
...
Clang++ support, even in "Production" mode (for testing purposes).
llvm-svn: 100119
2010-04-01 18:21:41 +00:00
Chris Lattner
09f8cc8c70
make -ftime-report work even in -disable-free mode. Woo, finally.
...
rdar://7781603
llvm-svn: 99878
2010-03-30 05:39:52 +00:00
Daniel Dunbar
6a8efa8a79
Driver: Support CC_PRINT_OPTIONS, used for logging the compile commands (in -v style) to a file.
...
llvm-svn: 99054
2010-03-20 08:01:59 +00:00
Kovarththanan Rajaratnam
4bc61181f9
Mark variable as const
...
llvm-svn: 97951
2010-03-08 18:33:04 +00:00
Daniel Dunbar
12ee380a61
Driver: Use TextDiagnosticPrinter instead of a custom one.
...
llvm-svn: 97102
2010-02-25 03:23:43 +00:00
Daniel Dunbar
d2b20c1348
clang: Add support for s// edit form of QA_OVERRIDE_GCC3_OPTIONS.
...
- Used to do regex patsubst on arguments.
llvm-svn: 96512
2010-02-17 21:00:34 +00:00
Daniel Dunbar
b2138e5529
Driver: Use "g++" as generic gcc name when running in C++ mode, for platforms
...
that lack real tool definitions.
llvm-svn: 92164
2009-12-25 20:21:23 +00:00
Jeffrey Yasskin
567ae47b4a
Remove several .c_str() to be forward-compatible with StringRef.
...
llvm-svn: 90822
2009-12-08 01:46:24 +00:00
Rafael Espindola
73d4637545
Add gcc's -no-canonical-prefixes option to clang.
...
llvm-svn: 90577
2009-12-04 19:31:58 +00:00
Daniel Dunbar
1c39f3c89d
Put CompilerInvocation testing code in clang-cc instead of clang for now, I can't bear to link all of clang into 'clang' yet. :)
...
- Still triggered by a magic leading -cc1 argument, as before.
llvm-svn: 90114
2009-11-30 07:18:13 +00:00
Daniel Dunbar
65ca1c6f02
Change CompilerInvocation::CreateFromArgs to take Argv0 and the address of main (or something in the main executable) so it can find the builtin compiler files.
...
llvm-svn: 90090
2009-11-29 20:58:32 +00:00
Benjamin Kramer
df5280df05
Add a workaround to silence a bogus g++-4.4 -pedantic warning.
...
driver.cpp:211: warning: ISO C++ forbids zero-size array 'argv'
llvm-svn: 89455
2009-11-20 11:49:06 +00:00
Daniel Dunbar
51cd8f085f
Sketch some 'clang -cc1' support, for testing parts of CompilerInvocation.
...
llvm-svn: 89333
2009-11-19 07:37:51 +00:00
Daniel Dunbar
da13faf982
Driver: ArgList doesn't depend on Options.h anymore.
...
llvm-svn: 89313
2009-11-19 04:25:22 +00:00
Daniel Dunbar
559f7a5c3c
Fix unsafe use of StringRef I introduced.
...
llvm-svn: 86829
2009-11-11 10:10:25 +00:00
Daniel Dunbar
f76c9d270a
Driver: Run 'clang' in C++ mode based on the name it was invoked by. We match
...
anything that ends with ++ or ++-FOO (e.g., c++, clang++, clang++-1.1) as being
a "C++ compiler".
This allows easy testing of the C++ compiler by 'ln -s clang clang++', or by 'cp
clang clang++'.
Based on patch by Roman Divacky.
llvm-svn: 86697
2009-11-10 18:47:41 +00:00
Daniel Dunbar
5564ba743f
Push "clang-is-production" logic up to tools/driver, and make it hittable by
...
defining the CLANG_IS_PRODUCTION Makefile variable.
llvm-svn: 82583
2009-09-22 22:31:13 +00:00
Daniel Dunbar
c3ccd180e7
Fix indentation / trailing white space.
...
llvm-svn: 76200
2009-07-17 18:10:27 +00:00
Daniel Dunbar
54091b82b5
[llvm up] Add support for '#' component of QA_OVERRIDE_GCC3_OPTIONS.
...
- This silences the output about how command line arguments are being changed.
llvm-svn: 76107
2009-07-16 21:32:51 +00:00
Daniel Dunbar
38bfda6ab5
Driver: Move Compilation::Execute to Driver::ExecuteCompilation.
...
- The Compilation is just a helper class, it shouldn't have that amount of
logic in it.
- No functionality change.
llvm-svn: 74634
2009-07-01 20:03:04 +00:00
Daniel Dunbar
fed44d215e
Revert to using &...[0] for std::vector, apparently .data isn't generally
...
available (and it isn't necessary in this case).
llvm-svn: 72425
2009-05-26 18:00:25 +00:00
Daniel Dunbar
33794edae7
Use .data() vs &...[0]
...
llvm-svn: 72420
2009-05-26 17:13:50 +00:00
Daniel Dunbar
f7323f3f65
The driver/diagnostic client don't need to be on the heap.
...
llvm-svn: 72418
2009-05-26 16:15:44 +00:00
Daniel Dunbar
3f4a2c286e
Support QA_OVERRIDE_GCC3_OPTIONS
...
- Cover your eyes...
- This is a simple but effective way to allow developers to build a
project with clang while manipulating the command line, without
having to edit the project itself.
llvm-svn: 69342
2009-04-17 01:54:00 +00:00
Daniel Dunbar
8b723e299c
Driver: CCC_ADD_ARGS could end up using dangling pointers.
...
llvm-svn: 68805
2009-04-10 18:32:59 +00:00
Daniel Dunbar
35b0c52add
Allow CCC_ADD_ARGS to add empty arguments
...
llvm-svn: 68235
2009-04-01 19:38:07 +00:00
Daniel Dunbar
dae1d347df
Support CCC_ADD_ARGS in new driver.
...
llvm-svn: 68231
2009-04-01 19:08:46 +00:00
Daniel Dunbar
d640be24fd
(LLVM up) Update to use llvm::sys::getHostTriple().
...
- Always pass -triple to clang-cc (-arch will be removed).
- clang-cc doesn't play guess work with the target triple anymore.
llvm-svn: 68119
2009-03-31 17:35:15 +00:00
Daniel Dunbar
36245c5a90
Rename clang-driver to clang.
...
Again, I tried to update cmake but it is untested.
llvm-svn: 67606
2009-03-24 03:07:05 +00:00
Daniel Dunbar
1acb0eb24f
Driver: Give Compilation::Execute total control over the Driver result
...
code; and don't return an error code when -### is present, even if
errors occur.
llvm-svn: 67425
2009-03-21 00:40:53 +00:00
Daniel Dunbar
da382a88bf
Driver: Get executable path using llvm::sys::Path::GetMainExecutable.
...
llvm-svn: 67228
2009-03-18 20:25:53 +00:00
Daniel Dunbar
d9b80c2af8
Driver: Use custom diag printer to drop dependency on libFrontend and
...
libLex.
llvm-svn: 67155
2009-03-18 02:11:26 +00:00
Daniel Dunbar
2608c548b5
Driver: Use PrettyStackTrace.
...
llvm-svn: 67149
2009-03-18 01:38:48 +00:00
Daniel Dunbar
e75d834c7c
Driver: Implement majority tool binding logic.
...
- Still need code for determining proper output location.
- Doesn't work yet, of course, as the host isn't providing real
tool chains.
- Interface still has a few warts, but has gotten a nice bit of
polish during the rewrite.
llvm-svn: 67038
2009-03-16 06:56:51 +00:00
Daniel Dunbar
3efedddcf9
Driver: Return 0 from BuildCompilation on -ccc-print-phases,
...
-ccc-print-options.
llvm-svn: 66907
2009-03-13 17:24:34 +00:00
Daniel Dunbar
c0b3e95a1a
Driver: Use standard Diagnostic interface for diagnostics.
...
llvm-svn: 66786
2009-03-12 08:55:43 +00:00
Daniel Dunbar
4dff6a4973
Driver: Add host info.
...
- Replace assorted -ccc-host-* options by -ccc-host-triple which is
more sane.
llvm-svn: 66600
2009-03-10 23:41:59 +00:00
Daniel Dunbar
ee66cf2249
Driver: Handle magic -ccc- options.
...
- Follows ccc currently, but this functionality should eventually be
outside the Driver lib.
llvm-svn: 66575
2009-03-10 20:52:46 +00:00
Daniel Dunbar
b2cd66bf4d
Driver: Sink Driver/Compilation into clang::driver namespace.
...
- Add OptTable instance to Driver.
llvm-svn: 66063
2009-03-04 20:49:20 +00:00
Daniel Dunbar
5637208a88
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.
llvm-svn: 66028
2009-03-04 08:33:23 +00:00
Daniel Dunbar
b2da933989
Sketch Driver Option classes.
...
llvm-svn: 65933
2009-03-03 05:55:11 +00:00
Daniel Dunbar
544ecd14b6
Stub out some structure for C++ driver.
...
llvm-svn: 65867
2009-03-02 19:59:07 +00:00