aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver
AgeCommit message (Collapse)Author
2009-03-18Driver: Don't warn about unused arguments if there are Driver errorsDaniel Dunbar
(brings code in line with diagnostic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67217 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Fix URL trimming for version information.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67206 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Improve version number.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67204 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Port Clang argument translation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67193 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Bug fix, derived .gch names sometimes started with "/".Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67192 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Add argument translation utilities to ArgList.Daniel Dunbar
- Support things like telling which -ffoo -fno-foo option won, and forwarding all arguments matching a certain set of options to the tool. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67189 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Lift out common GCC tool and implement generic GCC toolDaniel Dunbar
argument translation. Also, stub out clang tool implementation a bit more. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67185 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Add assert and FIXME; arguments which act as linker inputsDaniel Dunbar
(e.g., -filelist) are currently broken. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67183 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Provide Arg::render implementations.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67182 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Add "d" flag to Options.def for options which are completelyDaniel Dunbar
handled by driver. - This is not very precise, we use it to drive the "forward-to-gcc" predicate, when trying to talk to a generic gcc tool. - Slightly better than what ccc was doing, and should be good enough. Platforms which want a robust driver should implement a proper tool chain. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67181 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: ConstructJob also needs to know the destination (where to putDaniel Dunbar
its commands). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67179 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Print version on stderr to match [gc]cc.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67178 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Implement -### (hard to tell, since we don't actuallyDaniel Dunbar
construct any jobs). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67177 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Claim inputs when we bind the InputAction.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67174 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Rename Command::Argv to Command::Arguments to make it clearerDaniel Dunbar
that this does not include the implicit first argument (the executable name). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67172 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Don't claim inputs when pipelining, a tool should eventuallyDaniel Dunbar
claim these. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67171 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Add a dash of const.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67170 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Stub out Tool::ConstructJob.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67169 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Fix Compilation::getArgsForToolChain, local variable wasDaniel Dunbar
shadowing member. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67167 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Add two normalizations for powerpc.Daniel Dunbar
- PR3830 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67166 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Ditch Driver::DefaultToolChain, this can vary between compilations.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67162 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: I was too hasty in free'ing Actions, we sometimes shareDaniel Dunbar
Actions so a simple tree traversal isn't quite good enough. Leaving a FIXME for now. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67161 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Initialize Arg::ClaimedDaniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67160 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Move actions into Compilation, and construct the compilationDaniel Dunbar
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67158 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Add test for binding of precompile; exposed bug due to myDaniel Dunbar
flawed idea that llvm::sys::Path::getBasename was a version of basename(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67153 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Implement JoinedAndSeparateArg::getValue and add parsing testDaniel Dunbar
case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67151 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: UnknownHostInfo was always returning 0.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67150 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Use PrettyStackTrace.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67149 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Release Host, ToolChain, and Tool implementations.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67146 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Add test case for -ccc-clang-archs (which, it turns out, wasDaniel Dunbar
inverted). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67135 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Add -ccc-print-bindings option (for testing); the PythonDaniel Dunbar
driver has no corresponding option. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67125 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Add name to Tool (for testing/debugging) and move GCC_* toolsDaniel Dunbar
into gcc:: namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67120 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17GCC 4.0 isn't happy with VISIBILITY_HIDDEN on a namespace.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67112 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: GCC 4.0 isn't happy with VISIBILITY_HIDDEN on a namespace.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67110 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Stub out generic GCC tool selection (missed a file)Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67109 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Stub out generic GCC tool selection.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67108 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Stub out generic GCC tool chain implementation.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67107 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Make sure to get the default arch name from the tool chain, not the Daniel Dunbar
host; the toolchain may differ based on command line arguments. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67106 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Pass HostInfo reference into ToolChain.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67105 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Pass Driver reference down into Host info, which will need itDaniel Dunbar
to pass to ToolChains, which may need Driver specific information (for example, to form search paths). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67102 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Fix typo ArgList destructor.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67101 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Hide HostInfo implementations.Daniel Dunbar
- Also, normalize arch names a tad and stub out getToolChain implementations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67091 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Add two option form of ArgList::getLastArg.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67090 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Driver: Add logic for computing where to put job outputs (pipe,Daniel Dunbar
temporary file, user provided name, derived name). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67088 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Add ArgList::MakeArgString and make ArgList::Make* const.Daniel Dunbar
- Slightly strange, but the idea is that the ArgList data structure is primarily a list of arguments; we want to allow clients to still add argument strings to an ArgList to avoid worrying about string lifetimes (or unnecessary string copying). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67086 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-17Fix unused variable warning in -Asserts mode.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67073 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16Build system changes to use TableGen to generate the variousDouglas Gregor
diagnostics. This builds on the patch that Sebastian committed and then revert. Major differences are: - We don't remove or use the current ".def" files. Instead, for now, we just make sure that we're building the ".inc" files. - Fixed CMake makefiles to run TableGen and build the ".inc" files when needed. Tested with both the Xcode and Makefile generators provided by CMake, so it should be solid. - Fixed normal makefiles to handle out-of-source builds that involve the ".inc" files. I'll send a separate patch to the list with Sebastian's changes that eliminate the use of the .def files. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67058 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16Driver: Implement majority tool binding logic.Daniel Dunbar
- 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67038 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16Driver: Migrate some data into the Compilation; after pipeliningDaniel Dunbar
access to most data should go through the current Compilation, not the Driver (which shouldn't be specialized on variables for a single compilation). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67037 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-16Driver: Sketch Tool and ToolChain classes.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67036 91177308-0d34-0410-b5e6-96231b3b80d8