summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
Commit message (Collapse)AuthorAgeFilesLines
* Driver: Pass -f[no-]pascal-strings on to clang, even if it has beenDaniel Dunbar2009-03-271-0/+12
| | | | | | | | | turned into -m[no-]pascal-strings by the tool chain. - This still has issue that derived arguments don't propogate "used" information correctly so spurious "argument unused" warnings will still show up. llvm-svn: 67841
* Driver: -print-libgcc-file-name was searching wrong path list.Daniel Dunbar2009-03-271-1/+1
| | | | llvm-svn: 67837
* Fix searching for gcc, we only want executable files.Mike Stump2009-03-272-5/+7
| | | | llvm-svn: 67806
* Remove dead code.Mike Stump2009-03-261-1/+1
| | | | llvm-svn: 67769
* Driver: Add darwin::Link tool.Daniel Dunbar2009-03-264-13/+506
| | | | | | | - <rdar://problem/6717381> [driver] implement ld argument translation in new driver llvm-svn: 67760
* Driver: Fix a number of option definition mismatches (flags instead ofDaniel Dunbar2009-03-261-2/+2
| | | | | | | | separate, or vice versa). Also, fix initialization of LinkingOutput variable. llvm-svn: 67757
* Driver: Print the correct target when printing the version.Daniel Dunbar2009-03-261-6/+6
| | | | llvm-svn: 67756
* Driver: Move GetReleaseVersion to static Driver::GetReleaseVersion method.Daniel Dunbar2009-03-262-33/+42
| | | | llvm-svn: 67754
* Driver: Add ArgList::AddAllArgsTranslated; for forwarding options toDaniel Dunbar2009-03-261-0/+13
| | | | | | | tools with the name of the option replace, and arguments rendered separately. llvm-svn: 67753
* hopefully fix VC++ build error.Chris Lattner2009-03-261-0/+1
| | | | llvm-svn: 67741
* Driver: Implement Darwin_X86 tool chain level argument translation.Daniel Dunbar2009-03-252-5/+109
| | | | | | | | | | | | | | | | | | | | - This is really gross, but its the easiest way to match gcc. Once we are confident in the driver, we can try and push these translations down into tools. - No test cases for this yet, it's hard to see the effects of these translations before the gcc tool argument translation is pulled over. - Interaction with "unused argument" warning hasn't been worked out yet. - <rdar://problem/6717359> [driver] implement toolchain specific argument translation. "It's horrible in here." llvm-svn: 67683
* Driver: Handle -Xarch_, including warning for nasty -Xarch_ use casesDaniel Dunbar2009-03-251-2/+41
| | | | | | | we aren't going to support. For example: clang -Xarch_i386 -S -Xarch_i386 -o -Xarch_i386 myi386asm.s ... llvm-svn: 67680
* Driver: Replace Option::ForwardToGCC by Option::DriverOption (whichDaniel Dunbar2009-03-252-7/+2
| | | | | | matches the flag in Options.def). llvm-svn: 67679
* Driver: Fix typo in JoinedAndSeparateArg::render.Daniel Dunbar2009-03-251-1/+1
| | | | llvm-svn: 67677
* Driver: Prep for tool chain specific argument translation.Daniel Dunbar2009-03-257-79/+112
| | | | | | | | | | | | | | | | - Lift ArgList to a base class for InputArgList and DerivedArgList. - This is not a great decomposition, but it does embed the translation into the type system, and keep things efficient for tool chains that don't want to do any translation. - No intended functionality change. Eventually I hope to get rid of tool chain specific translation and have each tool do the right thing, but for now this is the easiest way to match gcc precisely (which is good for testing). llvm-svn: 67676
* gcc 4.3 finds my use of ^ suspicious.Daniel Dunbar2009-03-251-1/+1
| | | | llvm-svn: 67673
* Turn on -analyzer-eagerly-assume by default when using 'clang-cc' to performTed Kremenek2009-03-251-0/+1
| | | | | | static analysis. llvm-svn: 67665
* Driver: Handle -flto, -O4, and tweak -emit-llvm to match llvm-gcc.Daniel Dunbar2009-03-242-5/+15
| | | | | | | | | | | | - -emit-llvm no longer changes what compilation steps are done. - -emit-llvm and -emit-llvm -S write output files with .o and .s suffixes, respectively. - <rdar://problem/6714125> clang-driver should support -O4 and -flto, like llvm-gcc llvm-svn: 67645
* Driver: Warn when 'clang' is used to compile a source file we couldDaniel Dunbar2009-03-241-3/+9
| | | | | | conceivably handle, but are defaulting to not using clang for. llvm-svn: 67641
* Driver: Change default use of "clang" compiler.Daniel Dunbar2009-03-241-12/+18
| | | | | | | | | | | | | | | | | | | | | | - Don't default to using clang for C++ (use -ccc-clang-cxx to override). - Default to only using clang on i386 and x86_64 (use -ccc-clang-archs "" to override). - <rdar://problem/6712350> [driver] clang should not be used on powerpc by default - <rdar://problem/6705767> driver should default to -ccc-no-clang-cxx I plan to add a warning that we are not using the clang compiler for the given compilation so that users do not think clang is being used in situations it isn't. This change is motivated by the desire to be able to drop clang into a build and have things "just work", even if it happens to get used to compile C++ code or code for an architecture we don't support yet. llvm-svn: 67640
* Move ToolChain::ShouldUseClangCompiler toDaniel Dunbar2009-03-243-30/+29
| | | | | | | Driver::ShouldUseClangCompiler. - No functionality change. llvm-svn: 67639
* Driver: Translate -fverbose-asm for LLVM backend.Daniel Dunbar2009-03-241-1/+1
| | | | | | | - <rdar://problem/6715707> driver should translate -fverbose-asm into -asm-verbose llvm-svn: 67634
* Really fix cmake style builds.Mike Stump2009-03-241-0/+5
| | | | llvm-svn: 67633
* Driver: Result files shouldn't be removed on failure when -save-tempsDaniel Dunbar2009-03-241-1/+1
| | | | | | | | is specified. - No easy way to make a safe test case for this (given where the driver is supposed to put temp files). llvm-svn: 67632
* Driver: ArgList::getLastArg was in fact returning the first matching arg.Daniel Dunbar2009-03-241-3/+1
| | | | | | | - <rdar://problem/6715818> clang doesn't honor gcc semantic that last -O optimization option wins. llvm-svn: 67628
* Driver: Forward -MMD (not -MM) to clang-cc; this got lost inDaniel Dunbar2009-03-241-1/+1
| | | | | | translation, the former we support, the later we don't (yet). llvm-svn: 67611
* Install clang-cc to libexec/clang-cc (instead of bin/clang-cc).Daniel Dunbar2009-03-241-0/+8
| | | | | | - Updated ccc & driver to look in libexec/ for tools. llvm-svn: 67607
* Rename clang to clang-cc.Daniel Dunbar2009-03-241-1/+1
| | | | | | Tests and drivers updated, still need to shuffle dirs. llvm-svn: 67602
* Driver: lipo wasn't being called correctly (translation failure fromDaniel Dunbar2009-03-241-0/+3
| | | | | | ccc due to the different way we handle output arguments). llvm-svn: 67583
* Driver: Make argument parsing fast.Daniel Dunbar2009-03-231-13/+32
| | | | | | | | | | | 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. llvm-svn: 67564
* Driver: Fix off by one in computation of first searchable option.Daniel Dunbar2009-03-231-1/+1
| | | | llvm-svn: 67552
* Driver: Add two special groups of "whitelisted" options which we knowDaniel Dunbar2009-03-231-0/+12
| | | | | | | | | | | | | | | | | | | | 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=. llvm-svn: 67549
* Driver: Check that options are ordered properly (outside ofDaniel Dunbar2009-03-231-5/+75
| | | | | | | | Release-Asserts mode). Also, avoid searching through option groups (which will never match). llvm-svn: 67548
* Driver: Setup file and program search paths in tool chains.Daniel Dunbar2009-03-234-12/+90
| | | | llvm-svn: 67529
* Driver: Drop code for checking bounds in SeparateArg::render, thisDaniel Dunbar2009-03-221-3/+2
| | | | | | situation should never occur now that arguments are parsed correctly. llvm-svn: 67493
* Driver: Implement 'missing argument' error.Daniel Dunbar2009-03-224-22/+46
| | | | llvm-svn: 67490
* fix PR3859: crash with 'cc -V'Nuno Lopes2009-03-221-2/+3
| | | | llvm-svn: 67472
* Driver: Give Compilation::Execute total control over the Driver resultDaniel Dunbar2009-03-211-0/+4
| | | | | | | code; and don't return an error code when -### is present, even if errors occur. llvm-svn: 67425
* ccc/Driver: .s defaults to 'assembler-with-cpp' on Darwin.Daniel Dunbar2009-03-202-2/+19
| | | | | | | | | | - <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. llvm-svn: 67418
* Driver: Switch to using -include-pth.Daniel Dunbar2009-03-201-35/+23
| | | | llvm-svn: 67393
* Driver: Parse Darwin version out of target triple.Daniel Dunbar2009-03-201-1/+41
| | | | llvm-svn: 67388
* Driver: Add and use darwin::Assemble tool.Daniel Dunbar2009-03-203-4/+66
| | | | | | - Based on patch from Pieter de Bie; thanks! llvm-svn: 67379
* Driver: Add two option overload for AddAllArgValues.Daniel Dunbar2009-03-201-0/+13
| | | | llvm-svn: 67377
* Driver: Add Arg::getAsString and use when dumping arguments toDaniel Dunbar2009-03-202-6/+22
| | | | | | | | diagnostics. - This ensures that the whole argument and values are printed, instead of just the option name. llvm-svn: 67366
* strictly evaluate SVN_REVISION so that svnversion is run once instead of 4 ↵Chris Lattner2009-03-201-3/+5
| | | | | | times. llvm-svn: 67365
* Driver: Implement -print-search-dirs.Daniel Dunbar2009-03-201-0/+19
| | | | llvm-svn: 67362
* Driver: Sketch Darwin tool chains.Daniel Dunbar2009-03-203-11/+111
| | | | llvm-svn: 67356
* Driver: Add darwin::Lipo tool.Daniel Dunbar2009-03-202-1/+42
| | | | llvm-svn: 67355
* Driver: Move tool chain implementations into ToolChains.cpp.Daniel Dunbar2009-03-202-50/+81
| | | | llvm-svn: 67350
* Driver: Temporary hack to allow -ccc-print-bindings to work (forDaniel Dunbar2009-03-201-1/+4
| | | | | | testing) even with -pipe on. llvm-svn: 67348
OpenPOWER on IntegriCloud