Daniel Dunbar
0e75994e8b
Driver: Add Arg::getAsString and use when dumping arguments to
...
diagnostics.
- This ensures that the whole argument and values are printed,
instead of just the option name.
llvm-svn: 67366
2009-03-20 06:14:23 +00:00
Daniel Dunbar
d972e2247b
Driver: Implement -print-search-dirs.
...
llvm-svn: 67362
2009-03-20 04:37:21 +00:00
Daniel Dunbar
1fc898c40a
Driver: Temporary hack to allow -ccc-print-bindings to work (for
...
testing) even with -pipe on.
llvm-svn: 67348
2009-03-20 00:11:04 +00:00
Daniel Dunbar
adc5c7c2fd
Driver: Claim unused input arguments when emitting "input file unused"
...
diagnostic (to suppress more generic unused warning).
llvm-svn: 67294
2009-03-19 07:57:08 +00:00
Daniel Dunbar
2da027244d
Driver: Claim -arch options when pipelining, and claim arguments that
...
are forwarded to GCC.
- The later is unfortunate, as it prevents us from generally warning
about anything interesting on platforms that use a generic
toolchain. However, we can't do much better without significantly
complicating things, and generally we should have proper tool chain
definitions.
llvm-svn: 67293
2009-03-19 07:55:12 +00:00
Daniel Dunbar
5cdf3e0fb9
Driver: Handle "linker input" arguments.
...
- Make InputInfo a variant of filename, pipe, input argument,
nothing.
- Leave a FIXME in InputInfo that this should be revisited.
llvm-svn: 67292
2009-03-19 07:29:38 +00:00
Daniel Dunbar
c4acf9d516
Driver: Forcibly disable pipe support until we can execute them, the
...
driver is functional without them.
llvm-svn: 67254
2009-03-18 23:18:19 +00:00
Daniel Dunbar
18d69de523
Driver: Delete the temporary files llvm::sys::Path::makeUnique
...
sometimes leaves around.
llvm-svn: 67253
2009-03-18 23:08:52 +00:00
Daniel Dunbar
6c17bfd99b
Driver: Cleanup temporary/result files.
...
llvm-svn: 67248
2009-03-18 22:16:03 +00:00
Daniel Dunbar
6f66877ebf
Driver: Lookup program names using llvm::sys::Program::FindProgramByName
...
if our usual methods fail. This isn't necessary for running the tool,
but improves the accuracy of logging output.
Also, have GCC tools lookup gcc program path.
llvm-svn: 67243
2009-03-18 21:34:08 +00:00
Mike Stump
fc17674d6b
The eventual name of this will be clang, might as well start now.
...
llvm-svn: 67241
2009-03-18 21:19:11 +00:00
Daniel Dunbar
68b01a03ba
Driver: Support ToolChain specific path lists to search for files and
...
programs.
llvm-svn: 67229
2009-03-18 20:26:19 +00:00
Daniel Dunbar
e627c1cc0f
Driver: Construct temporary file names.
...
- This is still suboptimal, but should at least be workable.
llvm-svn: 67223
2009-03-18 19:34:39 +00:00
Mike Stump
1dca7c0061
Add revision information.
...
llvm-svn: 67220
2009-03-18 18:45:55 +00:00
Daniel Dunbar
d175d9753b
Driver: Don't warn about unused arguments if there are Driver errors
...
(brings code in line with diagnostic.
llvm-svn: 67217
2009-03-18 18:03:46 +00:00
Mike Stump
3b79d59be7
Fix URL trimming for version information.
...
llvm-svn: 67206
2009-03-18 15:19:35 +00:00
Mike Stump
02537142c1
Improve version number.
...
llvm-svn: 67204
2009-03-18 14:00:02 +00:00
Daniel Dunbar
e6c8319943
Driver: Bug fix, derived .gch names sometimes started with "/".
...
llvm-svn: 67192
2009-03-18 09:58:30 +00:00
Daniel Dunbar
dcd05482bd
Driver: Add assert and FIXME; arguments which act as linker inputs
...
(e.g., -filelist) are currently broken.
llvm-svn: 67183
2009-03-18 08:02:40 +00:00
Daniel Dunbar
04c4c2c3db
Driver: ConstructJob also needs to know the destination (where to put
...
its commands).
llvm-svn: 67179
2009-03-18 07:06:02 +00:00
Daniel Dunbar
3beceaf7f1
Driver: Print version on stderr to match [gc]cc.
...
llvm-svn: 67178
2009-03-18 06:51:03 +00:00
Daniel Dunbar
2b4bda8073
Driver: Claim inputs when we bind the InputAction.
...
llvm-svn: 67174
2009-03-18 06:21:12 +00:00
Daniel Dunbar
bcd775b436
Driver: Don't claim inputs when pipelining, a tool should eventually
...
claim these.
llvm-svn: 67171
2009-03-18 06:09:38 +00:00
Daniel Dunbar
0450e6dc4c
Driver: Add a dash of const.
...
llvm-svn: 67170
2009-03-18 06:07:59 +00:00
Daniel Dunbar
1a093d2049
Driver: Stub out Tool::ConstructJob.
...
llvm-svn: 67169
2009-03-18 06:00:36 +00:00
Daniel Dunbar
1197adcbf1
Driver: Add two normalizations for powerpc.
...
- PR3830
llvm-svn: 67166
2009-03-18 04:41:46 +00:00
Daniel Dunbar
eb843bedf9
Driver: Ditch Driver::DefaultToolChain, this can vary between compilations.
...
llvm-svn: 67162
2009-03-18 03:13:20 +00:00
Daniel Dunbar
f0eddb8510
Driver: Move actions into Compilation, and construct the compilation
...
earlier.
- This gives us a simple ownership model, and allows clients access
to more information should they ever want it.
- We now free Actions correctly.
llvm-svn: 67158
2009-03-18 02:55:38 +00:00
Daniel Dunbar
d00978bc0d
Driver: Add test for binding of precompile; exposed bug due to my
...
flawed idea that llvm::sys::Path::getBasename was a version of
basename().
llvm-svn: 67153
2009-03-18 02:00:31 +00:00
Daniel Dunbar
2608c548b5
Driver: Use PrettyStackTrace.
...
llvm-svn: 67149
2009-03-18 01:38:48 +00:00
Daniel Dunbar
0160172228
Driver: Release Host, ToolChain, and Tool implementations.
...
llvm-svn: 67146
2009-03-18 01:09:40 +00:00
Daniel Dunbar
b39cc52eda
Driver: Add -ccc-print-bindings option (for testing); the Python
...
driver has no corresponding option.
llvm-svn: 67125
2009-03-17 22:47:06 +00:00
Daniel Dunbar
71bdee6ea1
Driver: Make sure to get the default arch name from the tool chain, not the
...
host; the toolchain may differ based on command line arguments.
llvm-svn: 67106
2009-03-17 21:29:52 +00:00
Daniel Dunbar
52e0c70868
Driver: Pass Driver reference down into Host info, which will need it
...
to pass to ToolChains, which may need Driver specific information (for
example, to form search paths).
llvm-svn: 67102
2009-03-17 20:45:45 +00:00
Daniel Dunbar
b42a26c0a5
Driver: Hide HostInfo implementations.
...
- Also, normalize arch names a tad and stub out getToolChain
implementations.
llvm-svn: 67091
2009-03-17 19:00:50 +00:00
Daniel Dunbar
7a178a40a1
Driver: Add logic for computing where to put job outputs (pipe,
...
temporary file, user provided name, derived name).
llvm-svn: 67088
2009-03-17 17:53:55 +00:00
Daniel Dunbar
6865a9e975
Fix unused variable warning in -Asserts mode.
...
llvm-svn: 67073
2009-03-17 04:12:06 +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
3ce436d229
Driver: Migrate some data into the Compilation; after pipelining
...
access to most data should go through the current Compilation, not the
Driver (which shouldn't be specialized on variables for a single
compilation).
llvm-svn: 67037
2009-03-16 06:42:30 +00:00
Daniel Dunbar
9e2136d930
Driver: Sketch Tool and ToolChain classes.
...
llvm-svn: 67036
2009-03-16 05:25:36 +00:00
Daniel Dunbar
02ae54c549
Driver: claim input arguments when building phases.
...
llvm-svn: 67016
2009-03-15 01:40:22 +00:00
Daniel Dunbar
adc91e6597
Driver: Start warning about unused arguments.
...
- This has a number of current flaws, enabling now to flush out
problems while bringing up other parts.
llvm-svn: 67015
2009-03-15 01:38:15 +00:00
Daniel Dunbar
ae0e55eb7f
Driver: Update ArgList::{hasArg,getLastArg} to optionally claim the
...
arguments if they exist.
llvm-svn: 67014
2009-03-15 00:48:16 +00:00
Daniel Dunbar
95e6b191cb
Driver: Sprinkle some consts in, stub out BuildJobs method.
...
llvm-svn: 66968
2009-03-13 22:12:33 +00:00
Daniel Dunbar
e5dc48233f
Driver: For universal builds, handle archs in the order they were seen.
...
llvm-svn: 66939
2009-03-13 20:33:35 +00:00
Daniel Dunbar
c5a5ac5015
Driver: Fix '-x none' handling.
...
- Enough stuff works now we can test argument parsing & pipelining.
llvm-svn: 66913
2009-03-13 17:57:10 +00:00
Daniel Dunbar
e2ca3bddde
Driver: Some minor bug fixes.
...
- language recognition was recognizing prefixes incorrectly.
- -x none wasn't working.
- test for "can lipo" was backwords.
- missed a '"' in -ccc-print-phases
llvm-svn: 66911
2009-03-13 17:46:02 +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
ed50f6c356
Driver: Print -ccc-print-phases on stderr.
...
llvm-svn: 66906
2009-03-13 17:20:20 +00:00
Daniel Dunbar
0a180f1499
Driver: Fix thinko in Darwin host identification.
...
llvm-svn: 66889
2009-03-13 12:23:29 +00:00
Daniel Dunbar
aaf1ea6386
Driver: Support -ccc-print-phases.
...
llvm-svn: 66888
2009-03-13 12:19:02 +00:00
Daniel Dunbar
6522933d7a
Driver: Complete "pipelining" (building the list of abstract actions
...
to perform). Still doesn't do anything interesting.
- This code came out much cleaner than in ccc with the reworked
phases & mapping of types to lists of compilation steps (phases) to
perform.
llvm-svn: 66885
2009-03-13 11:38:42 +00:00
Daniel Dunbar
0f35a026a9
Driver: Ignore empty arguments.
...
llvm-svn: 66858
2009-03-13 01:01:44 +00:00
Daniel Dunbar
5e0f6af190
Driver: Handle "immediate" options.
...
Also, add some FIXMEs, improve doxygen & comments.
llvm-svn: 66857
2009-03-13 00:51:18 +00:00
Daniel Dunbar
34c4187152
ccc/Driver: Mark {dump{machine,specs,version},
...
print-{multi-{directory,lib,os-directory}, search-dirs} as unsupported
instead of handling separately.
llvm-svn: 66848
2009-03-13 00:17:48 +00:00
Daniel Dunbar
bfeec7443f
Driver: Determine which compilation stages to run.
...
llvm-svn: 66844
2009-03-12 23:55:14 +00:00
Daniel Dunbar
f479c1293e
Driver: Add majority of driver-driver implementation.
...
- Compare to driverdriver.c if bored; not completely fair since the
driver gets a bit more code in other places to handle binding archs
(for Xarch) but not completely unfair either.
Fear not, extra Action classes will have a happy home for their
vtables soon.
llvm-svn: 66817
2009-03-12 18:40:18 +00:00
Daniel Dunbar
446f684332
Driver: Introduce ActionList typedef, tweak some constness.
...
llvm-svn: 66809
2009-03-12 18:24:49 +00:00
Daniel Dunbar
5cd1e419b7
Driver: Tweak diag names to be more consistent.
...
llvm-svn: 66787
2009-03-12 09:13:48 +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
1688f1a7e0
Driver: Start sketching construction of abstract built actions.
...
llvm-svn: 66783
2009-03-12 07:58:46 +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
4095d89532
Remove some now-unneeded calls to llvm::errs().flush().
...
llvm-svn: 66555
2009-03-10 18:00:19 +00:00
Daniel Dunbar
d02cb1dc2b
Driver: Basic argument parsing.
...
- Add Driver::ParseArgStrings.
- Store values directly in CommaJoinedArg to support simple access.
- Add FlagArg class.
llvm-svn: 66142
2009-03-05 06:38:47 +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
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