aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
AgeCommit message (Collapse)AuthorFilesLines
2015-07-13[cuda] Driver changes to compile and stitch together host and device-side ↵Artem Belevich1-2/+19
CUDA code. NOTE: reverts r242077 to reinstate r242058, r242065, 242067 and includes fix for OS X test failures. - Changed driver pipeline to compile host and device side of CUDA files and incorporate results of device-side compilation into host object file. - Added a test for cuda pipeline creation in clang driver. New clang options: --cuda-host-only - Do host-side compilation only. --cuda-device-only - Do device-side compilation only. --cuda-gpu-arch=<ARCH> - specify GPU architecture for device-side compilation. E.g. sm_35, sm_30. Default is sm_20. May be used more than once in which case one device-compilation will be done per unique specified GPU architecture. Differential Revision: http://reviews.llvm.org/D9509 llvm-svn: 242085
2015-07-13This reverts commit r242058, r242065, r242067.Rafael Espindola1-15/+2
The tests were failing on OS X. Revert "[cuda] Driver changes to compile and stitch together host and device-side CUDA code." Revert "Fixed regex to properly match '64' in the test case." Revert "clang/test/Driver/cuda-options.cu REQUIRES clang-driver, at least." llvm-svn: 242077
2015-07-13[cuda] Driver changes to compile and stitch together host and device-side ↵Artem Belevich1-2/+15
CUDA code. - Changed driver pipeline to compile host and device side of CUDA files and incorporate results of device-side compilation into host object file. - Added a test for cuda pipeline creation in clang driver. New clang options: --cuda-host-only - Do host-side compilation only. --cuda-device-only - Do device-side compilation only. --cuda-gpu-arch=<ARCH> - specify GPU architecture for device-side compilation. E.g. sm_35, sm_30. Default is sm_20. May be used more than once in which case one device-compilation will be done per unique specified GPU architecture. Differential Revision: http://reviews.llvm.org/D9509 llvm-svn: 242058
2014-10-03Driver: Use pointee_iterator rather than iterating over unique_ptrsJustin Bogner1-2/+2
There's probably never a good reason to iterate over unique_ptrs. This lets us use range-for and say Job.foo instead of (*it)->foo in a few places. llvm-svn: 218938
2014-09-04unique_ptrify JobList::JobsDavid Blaikie1-4/+4
llvm-svn: 217168
2014-07-05Track IntrusiveRefCntPtr::get() changes from LLVM r212366Alp Toker1-1/+1
llvm-svn: 212369
2014-05-22[C++11] Use 'nullptr'. Frontend edition.Craig Topper1-4/+4
llvm-svn: 209389
2014-05-15Eliminate DefaultImageName from the Driver constructorAlp Toker1-1/+1
All callers were passing in "a.out" or garbage so a sensible default works fine here as a cleanup. This also brings about the possibility of adapting the value based on the driver's compatibility mode in future. The setting can still be changed via Driver::DefaultImageName as needed. llvm-svn: 208926
2014-03-07Replace OwningPtr with std::unique_ptr.Ahmed Charles1-2/+2
This compiles cleanly with lldb/lld/clang-tools-extra/llvm. llvm-svn: 203279
2014-03-07Change OwningPtr::take() to OwningPtr::release().Ahmed Charles1-1/+1
This is a precursor to moving to std::unique_ptr. llvm-svn: 203275
2013-09-12Move Compilation::PrintJob and PrintDiagnosticJob into Job::Print.Hans Wennborg1-2/+2
This moves the code to Job.cpp, which seems like a more natural fit, and replaces the "is this a JobList? is this a Command?" logic with a virtual function call. It also removes the code duplication between PrintJob and PrintDiagnosticJob and simplifies the code a little. There's no functionality change here, except that the Executable is now always printed within quotes, whereas it would previously not be quoted in crash reports, which I think was a bug. Differential Revision: http://llvm-reviews.chandlerc.com/D1653 llvm-svn: 190620
2013-06-14[Driver] Refactor clang driver to use LLVM's Option libraryReid Kleckner1-2/+3
The big changes are: - Deleting Driver/(Arg|Opt)* - Rewriting includes to llvm/Option/ and re-sorting - 'using namespace llvm::opt' in clang::driver - Fixing the autoconf build by adding option everywhere As discussed in the review, this change includes using directives in header files. I'll make follow up changes to remove those in favor of name specifiers. Reviewers: espindola Differential Revision: http://llvm-reviews.chandlerc.com/D975 llvm-svn: 183989
2013-01-20Nuke SetUpBuildDumpLog.Sean Silva1-3/+1
Also, it was the only reason that `argc` and `argv` were being passed into createDiagnostics, so remove those parameters and clean up callers. llvm-svn: 172945
2012-12-04Sort all of Clang's files under 'lib', and fix up the broken headersChandler Carruth1-4/+4
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
2012-11-27Remove some dead code. CLANG_IS_PRODUCTION is now just a build flag andRafael Espindola1-1/+1
is not used in any #ifdef. llvm-svn: 168703
2012-11-08Remove code to fall back to llvm-gcc for i386 kexts.Bob Wilson1-5/+0
More cleanups to follow in separate commits.... llvm-svn: 167566
2012-10-23Make DiagnosticOptions intrusively reference-counted, and make sureDouglas Gregor1-3/+3
the various stakeholders bump up the reference count. In particular, the diagnostics engine now keeps the DiagnosticOptions object alive. llvm-svn: 166508
2012-05-21[driver] When creating the compiler invocation out of command-lineArgyrios Kyrtzidis1-2/+6
arguments, force use of clang frontend for the driver. Fixes rdar://11356765. llvm-svn: 157205
2012-02-20Basic: import IntrusiveRefCntPtr<> into clang namespaceDylan Noblesmith1-1/+1
The class name is long enough without the llvm:: added. Also bring in RefCountedBase and RefCountedBaseVPTR. llvm-svn: 150958
2012-02-05Basic: import SmallString<> into clang namespaceDylan Noblesmith1-1/+1
(I was going to fix the TODO about DenseMap too, but that would break self-host right now. See PR11922.) llvm-svn: 149799
2012-02-05Basic: import OwningPtr<> into clang namespaceDylan Noblesmith1-2/+2
llvm-svn: 149798
2011-12-23Let CompilerInvocation initialization indicate failureDylan Noblesmith1-4/+5
This fixes the FIXMEs in ParseAnalyzeArgs. (Also a precursor to moving the analyzer into an AST plugin.) For consistency, do the same with AssemblerInvocation. llvm-svn: 147218
2011-11-01rename getHostTriple into getDefaultTargetTriple in clangSebastian Pop1-1/+1
llvm-svn: 143503
2011-10-04Rip out flags for controlling C++ "production mode" separately.Bob Wilson1-1/+1
This is old leftover cruft from the days when C++ was not yet ready for prime time. llvm-svn: 141063
2011-09-25Rename Diagnostic to DiagnosticsEngine as per issue 5397David Blaikie1-1/+1
llvm-svn: 140478
2011-07-23Move ArrayRef to LLVM.h and eliminate now-redundant qualifiers, patch by Jon ↵Chris Lattner1-1/+1
Mulder! llvm-svn: 135855
2011-07-23remove unneeded llvm:: namespace qualifiers on some core types now that ↵Chris Lattner1-2/+2
LLVM.h imports them into the clang namespace. llvm-svn: 135852
2011-05-21Fix the clang part of PR7952: rewrite the specialization of isa<> in DeclBase,Eli Friedman1-1/+1
and stop abusing the multi-level dereference isa<> used to allow. llvm-svn: 131804
2011-04-04Add missing file for my previous commit.Argyrios Kyrtzidis1-0/+90
llvm-svn: 128853