summaryrefslogtreecommitdiffstats
path: root/clang/tools/ccc
Commit message (Collapse)AuthorAgeFilesLines
...
* ccc: Give the Host an opportunity to switch ToolChains when bindingDaniel Dunbar2009-01-112-6/+21
| | | | | | archs (as a driver driver). llvm-svn: 62053
* ccc: Print -### output on stderr to match gcc.Daniel Dunbar2009-01-113-7/+11
| | | | llvm-svn: 62052
* ccc: Introduce ToolChains for mapping Actions to Tools which canDaniel Dunbar2009-01-103-18/+68
| | | | | | | | | | | | | | | 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
* ccc: Add generic assembler & linker tools which effectively shell outDaniel Dunbar2009-01-101-15/+43
| | | | | | to gcc. llvm-svn: 62020
* ccc: Add information about whether type can be user specified (a -xDaniel Dunbar2009-01-101-23/+45
| | | | | | argument) to InputType. llvm-svn: 62019
* ccc: Get host information via Driver methods.Daniel Dunbar2009-01-093-19/+48
| | | | llvm-svn: 62011
* ccc: Start defining host information.Daniel Dunbar2009-01-093-21/+107
| | | | | | | | | - 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
* ccc: Make proper synthetic arguments in places we have to constructDaniel Dunbar2009-01-073-54/+35
| | | | | | | "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
* ccc: Change Command to take list of strings for argv instead of ArgDaniel Dunbar2009-01-073-57/+55
| | | | | | | instances; this just complicated things and doesn't seem to provide any benefit. llvm-svn: 61869
* ccc: Extend ArgList to support indexing into a synthetic arg arrayDaniel Dunbar2009-01-071-3/+28
| | | | | | (for killing off DerivedArg). llvm-svn: 61846
* ccc: Refactor so that all accesses to actual input strings go throughDaniel Dunbar2009-01-074-23/+25
| | | | | | the ArgList. llvm-svn: 61844
* ccc: Remove ValueArg::setValue, this is no longer used.Daniel Dunbar2009-01-061-20/+2
| | | | llvm-svn: 61794
* ccc: Track last actual argument instance for each option & changeDaniel Dunbar2009-01-063-264/+270
| | | | | | | driver to lookup this way instead of manually scanning arguments in multiple places. llvm-svn: 61793
* ccc: Use dummy InputOption and UnknownOption classes instead ofDaniel Dunbar2009-01-062-128/+127
| | | | | | | | InputArg and UnknownArg. - Every argument now always corresponds to some option, which simplifies other code. llvm-svn: 61783
* ccc: Introduce ArgList for keeping input argv & parsed Args together.Daniel Dunbar2009-01-063-87/+117
| | | | llvm-svn: 61780
* Add prototype ccc rewrite.Daniel Dunbar2009-01-0516-0/+1702
- 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
OpenPOWER on IntegriCloud