aboutsummaryrefslogtreecommitdiff
path: root/lib/Driver
AgeCommit message (Collapse)Author
2009-03-24Move ToolChain::ShouldUseClangCompiler toDaniel Dunbar
Driver::ShouldUseClangCompiler. - No functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67639 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Driver: Translate -fverbose-asm for LLVM backend.Daniel Dunbar
- <rdar://problem/6715707> driver should translate -fverbose-asm into -asm-verbose git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67634 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Really fix cmake style builds.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67633 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Driver: Result files shouldn't be removed on failure when -save-tempsDaniel Dunbar
is specified. - No easy way to make a safe test case for this (given where the driver is supposed to put temp files). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67632 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Driver: ArgList::getLastArg was in fact returning the first matching arg.Daniel Dunbar
- <rdar://problem/6715818> clang doesn't honor gcc semantic that last -O optimization option wins. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67628 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Driver: Forward -MMD (not -MM) to clang-cc; this got lost inDaniel Dunbar
translation, the former we support, the later we don't (yet). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67611 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Install clang-cc to libexec/clang-cc (instead of bin/clang-cc).Daniel Dunbar
- Updated ccc & driver to look in libexec/ for tools. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67607 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Rename clang to clang-cc.Daniel Dunbar
Tests and drivers updated, still need to shuffle dirs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Driver: lipo wasn't being called correctly (translation failure fromDaniel Dunbar
ccc due to the different way we handle output arguments). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67583 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-23Driver: Make argument parsing fast.Daniel Dunbar
On a synthetic command line consisting of almost all defined options, this drops wall time from .00494 to .00336 and user time from .00258 to .00105. On the same benchmark, clang-driver is about 15% faster than the primary gcc driver and almost twice as fast as the gcc driver driver. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67564 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-23Driver: Fix off by one in computation of first searchable option.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67552 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-23Driver: Add two special groups of "whitelisted" options which we knowDaniel Dunbar
clang doesn't support, and don't want to warn are unused. Eventually these should disappear. Here is a more readable list than is in the diff: W options: -Wall, -Wcast-align, -Wchar-align, -Wchar-subscripts, -Werror, -Wextra, -Winline, -Wint-to-pointer-cast, -Wmissing-braces, -Wmost, -Wnested-externs, -Wno-format-y2k, -Wno-four-char-constants, -Wno-missing-field-initializers, -Wno-trigraphs, -Wno-unknown-pragmas, -Wno-unused-parameter, -Wparentheses, -Wpointer-arith, -Wpointer-to-int-cast, -Wreturn-type, -Wshorten-64-to-32, -Wswitch, -Wunused-function, -Wunused-label, -Wunused-value, -Wunused-variable, -Wwrite-strings. f options: -fasm-blocks, -fmessage-length=. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67549 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-23Driver: Check that options are ordered properly (outside ofDaniel Dunbar
Release-Asserts mode). Also, avoid searching through option groups (which will never match). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67548 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-23Driver: Setup file and program search paths in tool chains.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67529 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-22Driver: Drop code for checking bounds in SeparateArg::render, thisDaniel Dunbar
situation should never occur now that arguments are parsed correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67493 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-22Driver: Implement 'missing argument' error.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67490 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-22fix PR3859: crash with 'cc -V'Nuno Lopes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67472 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-21Driver: Give Compilation::Execute total control over the Driver resultDaniel Dunbar
code; and don't return an error code when -### is present, even if errors occur. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67425 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20ccc/Driver: .s defaults to 'assembler-with-cpp' on Darwin.Daniel Dunbar
- <rdar://problem/6669441> ccc doesn't handle assembler-with-cpp semantics correctly (but clang supports it) - This is sad, because it requires a fairly useless target hook. C'est la vie. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67418 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Driver: Switch to using -include-pth.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67393 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Driver: Parse Darwin version out of target triple.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67388 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Driver: Add and use darwin::Assemble tool.Daniel Dunbar
- Based on patch from Pieter de Bie; thanks! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67379 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Driver: Add two option overload for AddAllArgValues.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67377 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Driver: Add Arg::getAsString and use when dumping arguments toDaniel Dunbar
diagnostics. - This ensures that the whole argument and values are printed, instead of just the option name. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67366 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20strictly evaluate SVN_REVISION so that svnversion is run once instead of 4 ↵Chris Lattner
times. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67365 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Driver: Implement -print-search-dirs.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67362 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Driver: Sketch Darwin tool chains.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67356 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Driver: Add darwin::Lipo tool.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67355 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Driver: Move tool chain implementations into ToolChains.cpp.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67350 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-20Driver: Temporary hack to allow -ccc-print-bindings to work (forDaniel Dunbar
testing) even with -pipe on. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67348 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19Driver/clang: -mattr strings were not comma separated.Daniel Dunbar
- Apologies for commits w/o test cases; they are coming. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67310 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19Driver: Compilation::Execute wasn't returning result code correctly.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67296 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19Driver: Executing piped jobs with a single command is easy.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67295 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19Driver: Claim unused input arguments when emitting "input file unused"Daniel Dunbar
diagnostic (to suppress more generic unused warning). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67294 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19Driver: Claim -arch options when pipelining, and claim arguments thatDaniel Dunbar
are forwarded to GCC. - The later is unfortunate, as it prevents us from generally warning about anything interesting on platforms that use a generic toolchain. However, we can't do much better without significantly complicating things, and generally we should have proper tool chain definitions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67293 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19Driver: Handle "linker input" arguments.Daniel Dunbar
- Make InputInfo a variant of filename, pipe, input argument, nothing. - Leave a FIXME in InputInfo that this should be revisited. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67292 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19Driver: Add Arg::renderAsInput; this is a messy area and something IDaniel Dunbar
was hoping to clean up in the rewrite, but I don't see it yet. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67291 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Fix bug in translating -O to clang, add clang-translation testDaniel Dunbar
case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67257 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Resolve program path for "cp" (used as part of transparent gccDaniel Dunbar
PCH support). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67256 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Forcibly disable pipe support until we can execute them, theDaniel Dunbar
driver is functional without them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67254 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Delete the temporary files llvm::sys::Path::makeUniqueDaniel Dunbar
sometimes leaves around. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67253 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Make -j8 safe.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67252 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Execute jobs; no pipe support yet.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67250 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Cleanup temporary/result files.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67248 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Lookup program names using llvm::sys::Program::FindProgramByName Daniel Dunbar
if our usual methods fail. This isn't necessary for running the tool, but improves the accuracy of logging output. Also, have GCC tools lookup gcc program path. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67243 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18The eventual name of this will be clang, might as well start now.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67241 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Support ToolChain specific path lists to search for files andDaniel Dunbar
programs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67229 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Move generated file to ObjDir.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67225 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Driver: Construct temporary file names.Daniel Dunbar
- This is still suboptimal, but should at least be workable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67223 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18Add revision information.Mike Stump
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67220 91177308-0d34-0410-b5e6-96231b3b80d8