summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Driver.cpp
Commit message (Collapse)AuthorAgeFilesLines
* refactor -ccc-gcc-name codeDylan Noblesmith2011-04-091-15/+1
| | | | | | | | | | | | Put the logic for deciding the default name for gcc/g++ in the only place that actually cares about it. This also pushes an ifdef out of the generic driver code to a little further down, when the target is actually known. Hopefully it can be changed into just a runtime check in the future. llvm-svn: 129212
* Driver: Sketch driver support for a CC_LOG_DIAGNOSTICS options, similar to theDaniel Dunbar2011-04-071-4/+6
| | | | | | | existing CC_PRINT_OPTIONS and CC_PRINT_HEADERS, which can be used to transparently capture the compiler diagnostics from a build. llvm-svn: 129082
* Move Driver::createInvocationFromArgs function to Frontend library to avoid ↵Argyrios Kyrtzidis2011-04-041-70/+0
| | | | | | | | dependency cycle between libFrontend and libDriver. llvm-svn: 128852
* Introduce Driver::createInvocationFromArgs used to create a ↵Argyrios Kyrtzidis2011-04-041-0/+70
| | | | | | CompilerInvocation from command-line args. llvm-svn: 128848
* Driver/Darwin: Dsymutil actions should put the dSYM adjacent to the output file.Daniel Dunbar2011-03-251-1/+7
| | | | llvm-svn: 128292
* switch a few Driver APIs to use llvm::ArrayRef, cleaning up code.Chris Lattner2011-03-231-7/+5
| | | | llvm-svn: 128142
* Memorize presence/absence of -nostdlib in Driver.Joerg Sonnenberger2011-03-211-2/+4
| | | | | | | Drop program paths on NetBSD (unused). Only include lib dir, if -nostdlib is absent. Use = to allow --sysroot to work. llvm-svn: 127995
* Remember sysroot in Driver. Pass it down to ld for NetBSD, FreeBSDJoerg Sonnenberger2011-03-211-2/+14
| | | | | | | and DragonFly. Use the --sysroot= form for Linux. Fix handling of = prefix for -B. llvm-svn: 127994
* Driver: Give SelectTool access to the action inputs.Daniel Dunbar2011-03-181-2/+3
| | | | llvm-svn: 127902
* On !Darwin, do use the integrated as with -static.Rafael Espindola2011-03-181-1/+3
| | | | llvm-svn: 127879
* Use C as fallback type if in C preprocessor mode.Joerg Sonnenberger2011-03-161-4/+9
| | | | llvm-svn: 127769
* Redo part of r127137:Joerg Sonnenberger2011-03-071-5/+5
| | | | | | | | Pass down the correct C->getArgs, but keep it with the original DerivedArgList type. Slightly adjust the MakeIndex call for the different base type. This unbreaks the handling of --no-mangle on Darwin. llvm-svn: 127142
* Explicitly initialize CCCIsCPPJoerg Sonnenberger2011-03-071-2/+2
| | | | llvm-svn: 127139
* If called as *cpp or *cpp-[^-]*, run only the preprocessor. If noJoerg Sonnenberger2011-03-061-6/+16
| | | | | | | input is specified, use stdin implicitly. Based on a patch from Roman Divacky. llvm-svn: 127137
* Normalize target triple passed out of driver. Basically this meansAnton Korobeynikov2011-03-051-1/+1
| | | | | | | | that at cc1 level we will always have normalized triple and thus can provide necessary default based on e.g. environment value (e.g. for "arm-eabi" triple, etc.) llvm-svn: 127087
* Triple::MinGW64 is deprecated and removed. We can use Triple::MinGW32 instead.NAKAMURA Takumi2011-02-171-1/+0
| | | | | | No one uses *-mingw64. mingw-w64 is represented as {i686|x86_64}-w64-mingw32. llvm-svn: 125742
* Allow multiple -B prefixes. Patch by Joerg Sonnenberger.Benjamin Kramer2011-02-081-6/+12
| | | | llvm-svn: 125111
* Moved here from LLVM Clang's configuration options and related macros.Oscar Fuentes2011-02-031-0/+4
| | | | llvm-svn: 124825
* clang: Add support for a CC_PRINT_HEADERS environment variable, which mirrorsDaniel Dunbar2011-02-021-2/+3
| | | | | | | CC_PRINT_OPTIONS and can be used to get some out-of-band information on header usage from a build. llvm-svn: 124751
* Add NetBSD target support. Patch by Joerg Sonnenberger.Benjamin Kramer2011-02-021-0/+2
| | | | llvm-svn: 124736
* Driver: Change -dumpversion to return a GCC compatible answer.Daniel Dunbar2011-01-121-1/+7
| | | | | | - See comment for why. llvm-svn: 123296
* Replace all uses of PathV1::exists with PathV2::fs::exists.Michael J. Spencer2011-01-101-4/+10
| | | | llvm-svn: 123150
* Replace all uses of PathV1::get{Basename,Dirname,Suffix} with their PathV2 ↵Michael J. Spencer2010-12-181-12/+7
| | | | | | equivalents. llvm-svn: 122140
* Replace all uses of PathV1::getLast with PathV2::filename.Michael J. Spencer2010-12-181-5/+5
| | | | llvm-svn: 122117
* Going back to the drawing board with these two awful hacks.Eric Christopher2010-12-171-4/+1
| | | | llvm-svn: 122096
* Fix spelling.Michael J. Spencer2010-12-171-1/+1
| | | | llvm-svn: 122088
* Replace all uses of PathV1::isAbsolute with PathV2::is_{absolute,relative}.Michael J. Spencer2010-12-171-4/+6
| | | | llvm-svn: 122087
* Horrible hack for systems that use -dumpversion with clang to expect versionsEric Christopher2010-12-171-1/+4
| | | | | | that match gcc versions. Eew. llvm-svn: 122080
* Driver: M and MM should be grouped together, <rdar://problem/8744831>.Daniel Dunbar2010-12-081-3/+2
| | | | llvm-svn: 121284
* Merge System into Support.Michael J. Spencer2010-11-291-2/+2
| | | | llvm-svn: 120297
* Use hasErrorOccurred() instead of getNumErrors() where it makes sense.Argyrios Kyrtzidis2010-11-181-2/+2
| | | | llvm-svn: 119746
* Refactoring of Diagnostic class.Argyrios Kyrtzidis2010-11-181-1/+1
| | | | | | | | | | | -Move the stuff of Diagnostic related to creating/querying diagnostic IDs into a new DiagnosticIDs class. -DiagnosticIDs can be shared among multiple Diagnostics for multiple translation units. -The rest of the state in Diagnostic object is considered related and tied to one translation unit. -Have Diagnostic point to the SourceManager that is related with. Diagnostic can now accept just a SourceLocation instead of a FullSourceLoc. -Reflect the changes to various interfaces. llvm-svn: 119730
* Implement -working-directory.Argyrios Kyrtzidis2010-11-031-4/+13
| | | | | | | | | | | | | | | | | | | When -working-directory is passed in command line, file paths are resolved relative to the specified directory. This helps both when using libclang (where we can't require the user to actually change the working directory) and to help reproduce test cases when the reproduction work comes along. --FileSystemOptions is introduced which controls how file system operations are performed (currently it just contains the working directory value if set). --FileSystemOptions are passed around to various interfaces that perform file operations. --Opening & reading the content of files should be done only through FileManager. This is useful in general since file operations will be abstracted in the future for the reproduction mechanism. FileSystemOptions is independent of FileManager so that we can have multiple translation units sharing the same FileManager but with different FileSystemOptions. Addresses rdar://8583824. llvm-svn: 118203
* Use CLANG_RESOURCE_DIR define if one is provided, otherwise use the default ofChandler Carruth2010-10-191-4/+9
| | | | | | | | '../lib/clang/<version>'. Actually use '..' rather than removing the trailing component to correctly handle paths containing '.' or symlinks in the presence of -no-canonical-prefixes, etc. This shouldn't change any existing behavior. llvm-svn: 116803
* lib/Driver/Driver.cpp: Use the driver g++-4 for Cygwin-1.5.NAKAMURA Takumi2010-10-111-1/+13
| | | | llvm-svn: 116183
* Revert r114712 due to failure on darwin buildbot.Nick Lewycky2010-09-241-10/+4
| | | | llvm-svn: 114713
* Make -M/-MM behave like in gcc; use -MF first then -o else use stdout.Nick Lewycky2010-09-231-4/+10
| | | | llvm-svn: 114712
* Fix header comment so we don't break emacs.Nick Lewycky2010-09-231-1/+1
| | | | llvm-svn: 114711
* Driver: implement driver automagic support for -lcc_kextShantonu Sen2010-09-171-3/+11
| | | | | | | | | Rewrite linker arguments to use libclang_rt.cc_kext.a instead of gcc-specific libcc_kext.a Resolves Radar 7808495 llvm-svn: 114193
* Driver: Support -dumpmachine.Daniel Dunbar2010-09-171-0/+5
| | | | llvm-svn: 114155
* Driver: Add magic handling for "reserved library names", starting withDaniel Dunbar2010-09-171-0/+12
| | | | | | | | | | | | | | | | | | | | -lstdc++. This is the best gross solution for a gross problem. This issue is that historically, GCC has add -L options to its internally library directories. This has allowed users and platforms to end up depending on the layout of GCC's internal library directories. We want to correct this mistake by eliminating that -L, but this means that existing libraries which are in the GCC lib dir won't be found. We are going to handle this by treating those -l names as "reserved", and requiring toolchains to know how to add the right full path to the reserved library. The immediately side effect of this is that users trying to use -L to find their own -lstdc++ will need to start using -nostdlib (which is a good idea anyway). Another side effect is that -stdlib=libc++ -lstdc++ will now do the "right" thing, for curious definitions of right. llvm-svn: 114144
* Make "-ccc-cxx" option work on Linux.Rafael Espindola2010-09-061-2/+4
| | | | | | | | | Patch by nobled. I also took the opportunity to make the field private since now it is only ready from the outside. llvm-svn: 113138
* Driver: Update -ccc-install-dir to also set the installed dir. TotallyDaniel Dunbar2010-08-231-1/+1
| | | | | | non-obvious. llvm-svn: 111838
* Visual Studio tools used on win32 hosts when targeting win32.Michael J. Spencer2010-08-211-0/+5
| | | | llvm-svn: 111748
* Driver: Claim the -mlinker-version synthesized argument, it shouldn't beDaniel Dunbar2010-08-171-0/+1
| | | | | | reported as unused. llvm-svn: 111310
* Driver: Use the compile time linker version as the default for -mlinker-version,Daniel Dunbar2010-08-121-0/+10
| | | | | | | | if detected. - This is a hack, we really want the linker version at execution time, but we don't have any infrastructure for getting that. Yet. llvm-svn: 110886
* Driver: Have -ccc-host-triple simply override the default in the driver, forDaniel Dunbar2010-08-021-3/+4
| | | | | | now. llvm-svn: 110027
* Driver: Move HostInfo::lookupTypeForExtension to ↵Daniel Dunbar2010-08-021-1/+1
| | | | | | ToolChain::LookupTypeForExtension. llvm-svn: 110024
* Driver: Give Build{Universal,}Actions access to the default host tool chain. IDaniel Dunbar2010-08-021-9/+9
| | | | | | | avoided this originally to enforce that the driver actions aren't toolchain dependent, but it isn't worth the cumbersone additional hostinfo split. llvm-svn: 110023
* Driver: Add Compilation::addCommand and switch tools to using it, now that weDaniel Dunbar2010-08-021-1/+1
| | | | | | don't have to deal with nested jobs. llvm-svn: 110015
OpenPOWER on IntegriCloud