aboutsummaryrefslogtreecommitdiff
path: root/tools/ccc
AgeCommit message (Collapse)Author
2009-01-12ccc: Even more Darwin/cc1 argument translation support.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62105 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: Add leading space in -### output to match gcc.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62097 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: (Darwin) More argument translation for Darwin/Compile tool.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62093 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: (Darwin) More argument translation for Darwin/Compile tool.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62089 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: (Darwin) Start implementing argument translation forDaniel Dunbar
Darwin/Compile tool. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62085 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: When constructing a named output, only use base name (not fullDaniel Dunbar
path). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62083 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: (Darwin) Move path resolution into ToolChain.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62082 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: Implement the rest of Darwin/Assembler argument translation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62081 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: Implement macosx-version-min conditions (including a bug fix).Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62079 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: Generalize Darwin/Link tool based on Darwin version.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62078 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: Support arguments which behave like linker inputs.Daniel Dunbar
- 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62075 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-12ccc: (Darwin) Pass -ObjC to linker if -ObjC, -ObjC++ or -fobjc isDaniel Dunbar
present. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62070 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11ccc: Add fairly complete argument translation for Darwin link step.Daniel Dunbar
- 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62059 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11ccc: Add several convenience methods for argument translation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62057 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-11ccc: Add and name a host of arguments.Daniel Dunbar
- 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... git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62054 91177308-0d34-0410-b5e6-96231b3b80d8
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