aboutsummaryrefslogtreecommitdiff
path: root/tools/ccc
AgeCommit message (Collapse)Author
2009-01-11ccc: Give the Host an opportunity to switch ToolChains when bindingDaniel Dunbar
archs (as a driver driver). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62053 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11ccc: Print -### output on stderr to match gcc.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62052 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-10ccc: Introduce ToolChains for mapping Actions to Tools which canDaniel Dunbar
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-10ccc: Add generic assembler & linker tools which effectively shell outDaniel Dunbar
to gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62020 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-10ccc: Add information about whether type can be user specified (a -xDaniel Dunbar
argument) to InputType. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62019 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-09ccc: Get host information via Driver methods.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62011 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-09ccc: Start defining host information.Daniel Dunbar
- 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61967 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07ccc: Make proper synthetic arguments in places we have to constructDaniel Dunbar
"fake" options, allowing Tools to be oblivious to whether an argument is real or synthetic. This kills off DerivedArg & a number of FIXMEs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61871 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07ccc: Change Command to take list of strings for argv instead of ArgDaniel Dunbar
instances; this just complicated things and doesn't seem to provide any benefit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61869 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07ccc: Extend ArgList to support indexing into a synthetic arg arrayDaniel Dunbar
(for killing off DerivedArg). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61846 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-07ccc: Refactor so that all accesses to actual input strings go throughDaniel Dunbar
the ArgList. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61844 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-06ccc: Remove ValueArg::setValue, this is no longer used.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61794 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-06ccc: Track last actual argument instance for each option & changeDaniel Dunbar
driver to lookup this way instead of manually scanning arguments in multiple places. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61793 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-06ccc: Use dummy InputOption and UnknownOption classes instead ofDaniel Dunbar
InputArg and UnknownArg. - Every argument now always corresponds to some option, which simplifies other code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61783 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-06ccc: Introduce ArgList for keeping input argv & parsed Args together.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61780 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-05Add prototype ccc rewrite.Daniel Dunbar
- 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... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61739 91177308-0d34-0410-b5e6-96231b3b80d8