summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Compilation.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* [driver] Refactor the driver so that a failing commands doesn't preventChad Rosier2013-01-291-8/+8
| | | | | | | | | | | subsequent commands from being executed. The diagnostics generation isn't designed for this use case, so add a note to fix this in the very near future. For now, just generated the diagnostics for the first failing command. Part of rdar://12984531 llvm-svn: 173825
* [driver] Associate a JobAction with each result file. This enables the driverChad Rosier2013-01-241-25/+42
| | | | | | | to delete result files for only those commands that fail. Part of rdar://12984531 llvm-svn: 173361
* [Driver] Don't remove non-regular files that were outputs.Daniel Dunbar2013-01-231-3/+3
| | | | llvm-svn: 173215
* Sort all of Clang's files under 'lib', and fix up the broken headersChandler Carruth2012-12-041-4/+2
| | | | | | | | | | | | | 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
* Use empty parens for empty function parameter list instead of '(void)'.Dmitri Gribenko2012-11-151-2/+2
| | | | llvm-svn: 168041
* [driver] Remove an extra space with the -iprefix option, so thatChad Rosier2012-10-311-1/+1
| | | | | | | matching works correctly. Part of rdar://12329974 llvm-svn: 167173
* [driver] Remove an extra space with the -internal-externc-isystem option, soChad Rosier2012-10-311-1/+1
| | | | | | | that matching works correctly. Part of rdar://12329974 llvm-svn: 167161
* [driver] Completely rework how superfluous options are stripped out of the crashChad Rosier2012-10-311-0/+100
| | | | | | | | | | | | diagnostics script. This addresses the FIXME pertaining to quoted arguments. We also delineate between those flags that have an argument (e.g., -D macro, -MF file) and those that do not (e.g., -M, -MM, -MG). Finally, we add the -dwarf-debug-flags to the list of flags to be removed. rdar://12329974 llvm-svn: 167152
* Use array_lengthof instead of sizeof trickery.Chad Rosier2012-05-031-2/+1
| | | | llvm-svn: 156104
* Canonicalize loop.Chad Rosier2012-05-031-1/+2
| | | | llvm-svn: 156093
* use DEFAULT_SYSROOTSebastian Pop2012-04-161-0/+4
| | | | llvm-svn: 154792
* Add the depfile as a result file so that it is deleted if we crash,Peter Collingbourne2011-11-061-2/+6
| | | | | | and prevent the diagnostic preprocessor run from writing a depfile. llvm-svn: 143846
* Use strpbrk(3) instead of open coding it.Benjamin Kramer2011-10-061-8/+1
| | | | llvm-svn: 141328
* [driver] For consistency, handle all shell special characters handled by theChad Rosier2011-10-051-1/+1
| | | | | | quoting code. llvm-svn: 141205
* [driver] The -v option doesn't quoted the command line arguments for historicalChad Rosier2011-10-051-1/+8
| | | | | | | reasons. However, it does seems practical to quote strings that need it. rdar://10221951 llvm-svn: 141202
* When the compiler crashes, the compiler driver now produces diagnostic Chad Rosier2011-08-021-4/+33
| | | | | | | | | information including the fully preprocessed source file(s) and command line arguments. The developer is asked to attach this diagnostic information to a bug report. rdar://9575623 llvm-svn: 136702
* Unbreak the MSVC build, using namespace clang is required otherwise MSVC ↵Francois Pichet2011-07-231-0/+2
| | | | | | will not find raw_ostream. llvm-svn: 135853
* remove unneeded llvm:: namespace qualifiers on some core types now that ↵Chris Lattner2011-07-231-2/+2
| | | | | | | | LLVM.h imports them into the clang namespace. llvm-svn: 135852
* Temporarily revert r135614 while I fix the cmake build.Chad Rosier2011-07-201-35/+4
| | | | llvm-svn: 135621
* When the compiler crashes, the compiler driver now produces diagnostic ↵Chad Rosier2011-07-201-4/+35
| | | | | | | | | information including the fully preprocessed source file(s) and command line arguments. The developer is asked to attach this diagnostic information to a bug report. llvm-svn: 135614
* Missing header from last commit; accidental change.John McCall2011-07-061-1/+0
| | | | llvm-svn: 134455
* Change the driver's logic about Objective-C runtimes: abstract out aJohn McCall2011-07-061-0/+1
| | | | | | | | | | | | structure to hold inferred information, then propagate each invididual bit down to -cc1. Separate the bits of "supports weak" and "has a native ARC runtime"; make the latter a CodeGenOption. The tool chain is still driving this decision, because it's the place that has the required deployment target information on Darwin, but at least it's better-factored now. llvm-svn: 134453
* Driver: When compilation fails, don't try to remove output files we don't haveDaniel Dunbar2011-04-251-0/+6
| | | | | | write access to. llvm-svn: 130150
* Remove stray emacs mode markers in all these files that was causing emacs toNick Lewycky2010-12-311-1/+1
| | | | | | | open them in fundamental-mode instead of c++-mode. Also twiddle whitespace for consistency in ToolChains.cpp. llvm-svn: 122646
* Merge System into Support.Michael J. Spencer2010-11-291-1/+1
| | | | llvm-svn: 120297
* Use the expanded form of S_ISREG. Hopefully this unbreaks the MSVC build.Benjamin Kramer2010-10-301-1/+1
| | | | llvm-svn: 117779
* Don't test isRegularFile before calling eraseFromDisk, sinceDan Gohman2010-10-291-11/+5
| | | | | | | eraseFromDisk does the same check. This avoids a stat call in the common case. llvm-svn: 117744
* Driver: Eliminate PipedJob, which is now unused.Daniel Dunbar2010-08-021-12/+0
| | | | llvm-svn: 110014
* Driver: Add an explicit argument translation phase to the driver itself. We ↵Daniel Dunbar2010-06-111-7/+12
| | | | | | are going to need this to handle things like -Xassembler, -Xpreprocessor, and -Xlinker which we might have to introspect. llvm-svn: 105842
* Driver: Support CC_PRINT_OPTIONS, used for logging the compile commands (in ↵Daniel Dunbar2010-03-201-2/+28
| | | | | | -v style) to a file. llvm-svn: 99054
* Driver: Fix -### to quote shell special characters, following gcc.Daniel Dunbar2010-03-201-4/+15
| | | | llvm-svn: 99053
* Fix for Path::isSpecialFile to Path::isRegularFile API in rev 89765.Edward O'Callaghan2009-11-251-1/+1
| | | | llvm-svn: 89849
* Fix for PR5568.Edward O'Callaghan2009-11-241-0/+7
| | | | llvm-svn: 89766
* Driver: ArgList doesn't depend on Options.h anymore.Daniel Dunbar2009-11-191-0/+1
| | | | llvm-svn: 89313
* Push bound architecture name into TranslateArgs.Daniel Dunbar2009-09-091-1/+1
| | | | llvm-svn: 81366
* Push bound architecture name into Compilation::getArgsForToolChain.Daniel Dunbar2009-09-091-4/+6
| | | | llvm-svn: 81365
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-18/+18
| | | | llvm-svn: 81346
* Driver: Mark some Compilation members const.Daniel Dunbar2009-07-011-2/+2
| | | | llvm-svn: 74636
* Driver: Move Compilation::Execute to Driver::ExecuteCompilation.Daniel Dunbar2009-07-011-48/+0
| | | | | | | | | - The Compilation is just a helper class, it shouldn't have that amount of logic in it. - No functionality change. llvm-svn: 74634
* Driver: Improve diagnostics for failed commands.Daniel Dunbar2009-07-011-6/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Not all tools give good error messages, and sometimes the tool can fail w/o any error (for example, when signalled). - We suppress this message when the failing command is the compiler and it failed normally (exit code == 1), under the assumption that it gave a good diagnostic. For example, for a linker failure we now get: -- ddunbar@lordcrumb:tmp$ clang a.c b.c ld: duplicate symbol _x in /var/folders/cl/clrOX6SaG+moCeRKEI4PtU+++TI/-Tmp-/cc-bXYITq.o and /var/folders/cl/clrOX6SaG+moCeRKEI4PtU+++TI/-Tmp-/cc-6uK4jD.o clang: error: linker command failed with exit code 1 (use -v to see invocation) -- For a compiler crash we get: -- ddunbar@lordcrumb:tmp$ clang t.i Assertion failed: (CGT.getTargetData().getTypeAllocSizeInBits(STy) == RL.getSize()), function layoutStructFields, file CodeGenTypes.cpp, line 573. 0 clang-cc 0x0000000100f1f1f1 PrintStackTrace(void*) + 38 ... stack trace and virtual stack trace follow ... clang: error: compiler command failed due to signal 6 (use -v to see invocation) -- But for a regular compilation failure we get the usual: -- ddunbar@lordcrumb:tmp$ clang c.c c.c:1:6: error: invalid token after top level declarator int x ^ 1 diagnostic generated. -- - No test case, not amenable to non-executable testing. :/ - <rdar://problem/6945613> llvm-svn: 74629
* Driver: Prep for tool chain specific argument translation.Daniel Dunbar2009-03-251-9/+6
| | | | | | | | | | | | | | | | - 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
* 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: 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
* Driver: Compilation::Execute wasn't returning result code correctly.Daniel Dunbar2009-03-191-1/+1
| | | | llvm-svn: 67296
* Driver: Executing piped jobs with a single command is easy.Daniel Dunbar2009-03-191-23/+30
| | | | llvm-svn: 67295
* Driver: Execute jobs; no pipe support yet.Daniel Dunbar2009-03-181-14/+56
| | | | llvm-svn: 67250
* Driver: Cleanup temporary/result files.Daniel Dunbar2009-03-181-2/+46
| | | | llvm-svn: 67248
* Driver: Implement -### (hard to tell, since we don't actuallyDaniel Dunbar2009-03-181-0/+27
| | | | | | construct any jobs). llvm-svn: 67177
* Driver: Fix Compilation::getArgsForToolChain, local variable wasDaniel Dunbar2009-03-181-4/+4
| | | | | | shadowing member. llvm-svn: 67167
* Driver: Move actions into Compilation, and construct the compilationDaniel Dunbar2009-03-181-0/+6
| | | | | | | | | | | 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. llvm-svn: 67158
OpenPOWER on IntegriCloud