summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.h
Commit message (Collapse)AuthorAgeFilesLines
...
* [driver] Don't try to generate diagnostic information for dsymutil crashes.Chad Rosier2013-02-011-0/+1
| | | | | | Part of rdar://13134273 llvm-svn: 174203
* [driver] Associate a JobAction with each result file. This enables the driverChad Rosier2013-01-241-0/+1
| | | | | | | to delete result files for only those commands that fail. Part of rdar://12984531 llvm-svn: 173361
* Add support for passing the main file name down to the assemblerEric Christopher2012-12-181-5/+7
| | | | | | | | for location information. Part of PR14624 llvm-svn: 170391
* Sort all of Clang's files under 'lib', and fix up the broken headersChandler Carruth2012-12-041-1/+0
| | | | | | | | | | | | | uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. llvm-svn: 169237
* Reapply a subset of r167567 to clean up Darwin-specific code for invoking gcc.Bob Wilson2012-11-231-57/+7
| | | | | | | | | | | Unlike my previous attempt at this, this patch leaves intact the check for whether clang can handle the input file type, and for non-Darwin toolchains it will invoke gcc for things it cannot handle. For Darwin toolchains, the behavior reported in pr14338 still occurs with this patch, but that is a definite improvement from what happens currently, where it just crashes with an assertion failure. llvm-svn: 168505
* Revert r167567, restoring the ability of clang to run gcc in cases where itNick Lewycky2012-11-151-7/+57
| | | | | | can't handle the input file type. This resulted in PR14338. llvm-svn: 168024
* Rip out a bunch of code for invoking gcc from clang.Bob Wilson2012-11-081-57/+7
| | | | llvm-svn: 167567
* getArchTypeForDarwinArchName is only used in the clang driver, copy it there.Rafael Espindola2012-10-311-0/+2
| | | | | | I will remove it from llvm in the next commit. llvm-svn: 167156
* During LTO, we call 'dsymutil' when we compile source files. This necessitatesBill Wendling2012-10-021-1/+2
| | | | | | | | | | clang specifying a temporary file that it later cleans up so that it can survive the linking stage. However, when we compile object files during LTO we don't call 'dsymutil'. That's done at a different stage (if at all). We rely upon the linker to specify a unique name for the temporary file it generates. <rdar://problem/12401423> llvm-svn: 165028
* clang support for Bitrig (an OpenBSD fork); patch by David Hill.Eli Friedman2012-08-081-0/+30
| | | | llvm-svn: 161546
* Restructure how the driver communicates information about theJohn McCall2012-06-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | target Objective-C runtime down to the frontend: break this down into a single target runtime kind and version, and compute all the relevant information from that. This makes it relatively painless to add support for new runtimes to the compiler. Make the new -cc1 flag, -fobjc-runtime=blah-x.y.z, available at the driver level as a better and more general alternative to -fgnu-runtime and -fnext-runtime. This new concept of an Objective-C runtime also encompasses what we were previously separating out as the "Objective-C ABI", so fragile vs. non-fragile runtimes are now really modelled as different kinds of runtime, paving the way for better overall differentiation. As a sort of special case, continue to accept the -cc1 flag -fobjc-runtime-has-weak, as a sop to PLCompatibilityWeak. I won't go so far as to say "no functionality change", even ignoring the new driver flag, but subtle changes in driver semantics are almost certainly not intended. llvm-svn: 158793
* Add PPC support for translating gcc-style -mcpu options into LLVM ↵Hal Finkel2012-06-111-0/+1
| | | | | | | | | | | | | | -target-cpu options. This functionality is based on what is done on ARM, and enables selecting PPC CPUs in a way compatible with gcc's driver. Also, mirroring gcc (and what is done on x86), -mcpu=native support was added. This uses the host cpu detection from LLVM (which will also soon be updated by refactoring code currently in backend). In order for this to work, the target needs a list of valid CPUs -- we now accept all CPUs accepted by LLVM. A few preprocessor defines for common CPU types have been added. llvm-svn: 158334
* [driver] Don't try to generate diagnostic information for linker crashes.Chad Rosier2012-03-071-0/+12
| | | | | | rdar://10993648 llvm-svn: 152180
* Fix copy-and-paste error in commentDavid Chisnall2012-02-151-1/+1
| | | | llvm-svn: 150587
* First pass at Solaris toolchain support. This version compiles and links helloDavid Chisnall2012-02-151-0/+29
| | | | | | | | world on Solaris 11 for both x86 and x86-64 using the built-in assembler and Solaris (not GNU) ld, however it currently relies on a hard-coded GCC location to find crtbegin.o and crtend.o, as well as libgcc and libgcc_eh. llvm-svn: 150580
* Have the driver pass CPU and target feature information to cc1as.Jim Grosbach2012-02-101-0/+1
| | | | | | | | | | When creating the MCSubtargetInfo, the assembler driver uses the CPU and feature string to construct a more accurate model of what instructions are and are not legal. rdar://10840476 llvm-svn: 150273
* Remove the ToolTriple logic in NetBSD, which was completely broken byJoerg Sonnenberger2012-01-261-8/+4
| | | | | | | | the recent refactoring. All interesting NetBSD release have a GNU as version on i386 that supports --32, so don't bother with the conditional setting of it. llvm-svn: 149087
* Unweaken vtables as per ↵David Blaikie2011-12-201-0/+2
| | | | | | http://llvm.org/docs/CodingStandards.html#ll_virtual_anch llvm-svn: 146959
* Hexagon backend supportTony Linthicum2011-12-121-0/+38
| | | | llvm-svn: 146413
* Add the depfile as a result file so that it is deleted if we crash,Peter Collingbourne2011-11-061-1/+2
| | | | | | and prevent the diagnostic preprocessor run from writing a depfile. llvm-svn: 143846
* Add support for a verifier to the driver. Currently only verifies debugEric Christopher2011-08-231-0/+15
| | | | | | | | | | | output on darwin so is hard coded there. As a note this will need a little bit of refactoring in the class hierarchy to separate it out for different verifiers based on input type. Fixes rdar://8256258. llvm-svn: 138343
* [driver] Clang doesn't support -mkernel/-fapple-kext for i386, so it's Chad Rosier2011-08-171-0/+1
| | | | | | | | automatically invoking llvm-gcc's cc1plus, which doesn't support all options supported by Clang. Therefore, filter out unsupported options. rdar://9964354 llvm-svn: 137842
* Fix typo. From Damjan Marion.Joerg Sonnenberger2011-06-211-1/+1
| | | | llvm-svn: 133511
* Make the triple an explicit argument of FindTargetProgramPath.Joerg Sonnenberger2011-05-161-3/+11
| | | | | | | | | | Preserve the original triple in the NetBSD toolchain when using -m32 or -m64 and the resulting effective target is different from the triple it started with. This allows -m32 to use the same assembler/linking in cross-compiling mode and avoids confusion about passing down target specific flags in that case like --32. llvm-svn: 131404
* Driver/Darwin/ARM: Kernel/kext code has more strict alignment requirements.Daniel Dunbar2011-03-171-1/+2
| | | | llvm-svn: 127815
* Add NetBSD target support. Patch by Joerg Sonnenberger.Benjamin Kramer2011-02-021-0/+29
| | | | llvm-svn: 124736
* Add support for soft/hard float options to the Sparc targetBruno Cardoso Lopes2010-11-091-0/+1
| | | | llvm-svn: 118514
* Use ld directly on linux. Changes from the previous try:Rafael Espindola2010-11-071-0/+12
| | | | | | | | | | | | | | | | | *) Try to detect as much as possible from the system itself, not the distro. This should make it easier to port to a new distro and more likely to work on a unknown one. *) The distro enum now doesn't include the arch. Just use the existing host detection support in LLVM. *) Correctly handle --sysroot. A small regression is that now clang will pass bitcode file to the linker. This is necessary for the gold plugin support to work. It might be better to detect this at configure/cmake time, but doing it in c++ first is a lot easier. llvm-svn: 118382
* Revert while I debug test failures :-(Rafael Espindola2010-11-031-12/+0
| | | | llvm-svn: 118150
* Switch clang to run ld directly on linux. I tested this on all the linuxRafael Espindola2010-11-031-0/+12
| | | | | | | | | | | | | | | | | | | | | | distros listed by running gcc main.o -o main g++ main.o -o main gcc main.o -o main -static g++ main.o -o main -static gcc f.o -o f.so -shared g++ f.o -o f.so -shared and comparing the ld line with the one created by clang. I also added -m32/m64 in distros that support it. While I tested many distros, there will always be more. If you are hit by this it should be somewhat easy to add your distro. If you are in a hurry, do revert this, but please inform how to detect you distro and the ld command lines produced by the above gcc invocations. Most distros have some patches on gcc :-( llvm-svn: 118149
* Driver/Darwin: Make the compilation object available in AddLinkArgs.Daniel Dunbar2010-09-091-1/+2
| | | | llvm-svn: 113549
* Visual Studio tools used on win32 hosts when targeting win32.Michael J. Spencer2010-08-211-0/+16
| | | | llvm-svn: 111748
* Run the assembler instead of gcc on Linux.Rafael Espindola2010-08-101-0/+16
| | | | llvm-svn: 110635
* Driver: Add Compilation::addCommand and switch tools to using it, now that weDaniel Dunbar2010-08-021-19/+0
| | | | | | don't have to deal with nested jobs. llvm-svn: 110015
* Driver: Eliminate now unnecessary tool hooks for whether they accept piped ↵Daniel Dunbar2010-08-021-44/+0
| | | | | | input/output. llvm-svn: 110012
* add driver support for minix, patch by Kees van ReeuwijkChris Lattner2010-07-071-0/+35
| | | | | | from PR7583 llvm-svn: 107788
* Driver: Add an explicit dsymutil action.Daniel Dunbar2010-06-041-0/+17
| | | | llvm-svn: 105474
* Driver: Add Tool::ShortName, intended to be a human readable name for the tool.Daniel Dunbar2010-05-221-23/+38
| | | | llvm-svn: 104416
* Driver: Add a tool definition for the Clang integrated assembler.Daniel Dunbar2010-05-201-0/+20
| | | | llvm-svn: 104280
* VISIBILITY_HIDDEN was renamed LLVM_LIBRARY_VISIBILITY.Duncan Sands2010-05-111-22/+22
| | | | llvm-svn: 103494
* Driver: Add a Tool::hasGoodDiagnostics hook, and use it to simplify logic forDaniel Dunbar2010-04-061-0/+5
| | | | | | | | deciding when we need to emit an extra "command failed" diagnostic. - This also fixes the case where we were emitting that extra diagnostics, even when using clang w/ the integrated assembler, which has good diagnostics. llvm-svn: 100529
* Add in some more MIPS command line options.Eric Christopher2010-03-021-0/+1
| | | | | | Patch by Oleksandr Tymoshenko! llvm-svn: 97544
* Driver: Add -[no-]integrated-as for clang.Daniel Dunbar2010-02-031-0/+1
| | | | | | | | | | | | | | | | | | | | - Requires backend support, which only exists for i386--darwin currently. No 'as' required: -- ddunbar@ozzy:tmp$ cat t.c int main() { return 42; } ddunbar@ozzy:tmp$ clang -m32 -integrated-as t.c ddunbar@ozzy:tmp$ ./a.out; echo $? 42 ddunbar@ozzy:tmp$ -- The random extra whitespace is how you know its working! :) llvm-svn: 95194
* Driver: Fix fallback to gcc to -c instead of -S if trying to generate an LLVM bcDaniel Dunbar2010-01-251-6/+12
| | | | | | file. llvm-svn: 94463
* Driver/Darwin/ld: Eliminate AddDarwinSubArch, our linker invocation is going toDaniel Dunbar2010-01-221-1/+0
| | | | | | diverge from gcc anyway. llvm-svn: 94138
* Remove ';' after method definition. Noticed by clang++, which one would thinkDaniel Dunbar2009-12-191-1/+1
| | | | | | | would have a higher respect for its own code. This is getting old, is this warning really adding value? llvm-svn: 91779
* ARM: Pass -mcpu to clang-cc based on -march= and -mcpu=.Daniel Dunbar2009-09-101-0/+1
| | | | llvm-svn: 81429
* Move Clang X86 cpu/feature argument translation into AddX86TargetArgs.Daniel Dunbar2009-09-091-0/+2
| | | | llvm-svn: 81390
* Add DarwinTool base class for all Darwin tools, and move AddDarwin[Sub]Arch ↵Daniel Dunbar2009-09-091-16/+21
| | | | | | there. llvm-svn: 81367
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-50/+50
| | | | llvm-svn: 81346
OpenPOWER on IntegriCloud