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'. ;)
llvm-svn: 62353
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.
llvm-svn: 62246
for the Darwin tool chain.
- Ideally we would localize these to tool specific argument
processing but for now this matches gcc closely.
llvm-svn: 62181
- Pulled -Xarch processing into this.
- Get rid of manual creation of forwarding arg array.
- Use Darwin/CC1 instead of generic GCC cc1 on X86.
llvm-svn: 62172
- --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.
llvm-svn: 62152
- 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.
llvm-svn: 62149
- 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.
llvm-svn: 62075
- 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.
llvm-svn: 62059
- 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...
llvm-svn: 62054
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.
llvm-svn: 62021
- For use by the driver in places where the host alters driver
behavior (for example, running as a driver driver on darwin).
- Allow user override for testing purposes.
llvm-svn: 61967
"fake" options, allowing Tools to be oblivious to whether an argument
is real or synthetic. This kills off DerivedArg & a number of FIXMEs.
llvm-svn: 61871
- Entry point is tools/ccc/xcc until we are a functional replacement
for ccc.
This is highly experimental (FIXME/LOC ratio of 3.4%), quite crufty,
and barely usable (and then only on my specific Darwin). However, many
of the right ideas are present, and it already fixes a number of
things gcc gets wrong.
The major missing component is argument translation for tools
(translating driver arguments into cc1/ld/as/etc. arguments). This is
a large part of the driver functionality and will probably double the
LOC, but my hope is that the current architecture is relatively
stable.
Documentation & motivation to follow soon...
llvm-svn: 61739
of the details of HTML rendering of form parameters, and also us with the
ability to delegate other actions (such as in the filling in of default values)
to specific parameter objects.
llvm-svn: 56851
Give more meaningful error messages / fail gracefully on bad form
input or SMTP errors.
Use button for Report Bug link (where available).
llvm-svn: 56420
- Update for scan-build table change.
- Add --auto-reload option (for development, avoids need to restart
server).
- Always send Last-Modified, with a reasonable value for dynamic content.
llvm-svn: 56409