summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
Commit message (Collapse)AuthorAgeFilesLines
* Rename -fmodule-cache-path <blah> to -fmodules-cache-path=<blah> for ↵Douglas Gregor2013-02-071-17/+19
| | | | | | consistency. llvm-svn: 174645
* Introduce -fmodules-ignore-macro=NNN to ignore a macro when building/loading ↵Douglas Gregor2013-02-071-0/+3
| | | | | | | | | | | | | | | | | | | | | modules. The use of this flag enables a modules optimization where a given set of macros can be labeled as "ignored" by the modules system. Definitions of those macros will be completely ignored when building the module hash and will be stripped when actually building modules. The overall effect is that this flag can be used to drastically reduce the number of Eventually, we'll want modules to tell us what set of macros they respond to (the "configuration macros"), and anything not in that set will be excluded. However, that requires a lot of per-module information that must be accurate, whereas this option can be used more readily. Fixes the rest of <rdar://problem/13165109>. llvm-svn: 174560
* Adding armv7l default to cortex-a8Renato Golin2013-02-051-0/+1
| | | | llvm-svn: 174466
* Driver and option support for -gsplit-dwarf. This is a part ofEric Christopher2013-02-056-9/+97
| | | | | | the DWARF5 split dwarf proposal. llvm-svn: 174349
* Spaces instead of tabs.Eric Christopher2013-02-051-3/+3
| | | | llvm-svn: 174348
* Add some missing PPC cpusBill Schmidt2013-02-011-0/+13
| | | | llvm-svn: 174215
* Add -mqpx and -mno-qpx feature flags to toggle use of the PPC QPX vector ↵Hal Finkel2013-02-011-0/+5
| | | | | | | | instruction set I've renamed the altivec test to ppc-features (because now there is more than one feature to test). llvm-svn: 174204
* [driver] Don't try to generate diagnostic information for dsymutil crashes.Chad Rosier2013-02-012-2/+4
| | | | | | Part of rdar://13134273 llvm-svn: 174203
* Add PPC A2Q core and BG/Q preprocessor definitionsHal Finkel2013-02-011-0/+1
| | | | | | The a2q core is the variant of the a2 core used on the BG/Q supercomputers. llvm-svn: 174151
* Enable -fno-altivec, -mno-altivec for PowerPC.Bill Schmidt2013-02-011-0/+6
| | | | | | | | | | | Introduces these negation forms explicitly and uses them to control a new "altivec" target feature for PowerPC. This allows avoiding generating Altivec instructions on processors that support Altivec. The new test case verifies that the Altivec "lvx" instruction is not used when -fno-altivec is present on the command line. llvm-svn: 174140
* Add support for AArch64 target.Tim Northover2013-01-313-1/+32
| | | | | | | | | | | | | In cooperation with the LLVM patch, this should implement all scalar front-end parts of the C and C++ ABIs for AArch64. This patch excludes the NEON support also reviewed due to an outbreak of batshit insanity in our legal department. That will be committed soon bringing the changes to precisely what has been approved. Further reviews would be gratefully received. llvm-svn: 174055
* [driver] Clear the FailureResultFiles when initializing clang diagnostics. Also,Chad Rosier2013-01-292-6/+7
| | | | | | minor cleanup. llvm-svn: 173852
* [ubsan] Implement the -fcatch-undefined-behavior flag using a trappingChad Rosier2013-01-292-5/+45
| | | | | | | | | | | implementation; this is much more inline with the original implementation (i.e., pre-ubsan) and does not require run-time library support. The trapping implementation can be invoked using either '-fcatch-undefined-behavior' or '-fsanitize=undefined-trap -fsanitize-undefined-trap-on-error', with the latter being preferred. Eventually, the -fcatch-undefined-behavior' flag will be removed. llvm-svn: 173848
* [driver] Refactor the driver so that a failing commands doesn't preventChad Rosier2013-01-292-42/+49
| | | | | | | | | | | 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
* Fix comment.Eric Christopher2013-01-281-1/+1
| | | | llvm-svn: 173700
* Print warning instead of error if optional ASan features are enabled w/o ↵Alexey Samsonov2013-01-282-7/+10
| | | | | | specifying -fsanitize=address llvm-svn: 173670
* [driver] Associate a JobAction with each result file. This enables the driverChad Rosier2013-01-244-34/+55
| | | | | | | 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
* [ms-inline asm] Remove the -fenable-experimental-ms-inline-asm flag. MS-styleChad Rosier2013-01-221-4/+0
| | | | | | inline assembly can be enable with -fasm-blocks or -fms-extensions alone. llvm-svn: 173186
* [ASan] Link with the dynamic runtime on OS XAlexander Potapenko2013-01-221-4/+2
| | | | | | This patch changes the behavior of the -fsanitize=address flag, making it use the dynamic runtime library (libclang_rt.asan_osx_dynamic.dylib) instead of the static one. It also drops the CoreFoundation dependency, since the dynamic runtime doesn't need it. llvm-svn: 173135
* Port r172856: 'Include ubsan runtime even when building a shared library. We ↵Alexey Samsonov2013-01-212-7/+4
| | | | | | don't require executable to be linked with UBSan.' to Mac llvm-svn: 173014
* Add top-level Clang flag -f(no-)sanitize-address-zero-base-shadow that makes ↵Alexey Samsonov2013-01-202-3/+24
| | | | | | AddressSanitizer use bottom of the address space for the shadow memory. On Linux it can be used with -fPIE/-pie to improve performance. llvm-svn: 172974
* Include ubsan runtime even when building a shared library. We don't require ↵Richard Smith2013-01-181-11/+9
| | | | | | the executable to be linked with UBSan. llvm-svn: 172856
* We want the dwarf AT_producer for assembly source files to match clang'sKevin Enderby2013-01-171-0/+6
| | | | | | | | | | | | | | | | AT_producer. Which includes clang's version information so we can tell which version of the compiler was used. This is second of the two steps to allow us to do this. The first was a change to llvm-mc with revision 172630 to provide a method to set the AT_producer string. This second step has the clang driver passing the value of getClangFullVersion() via the new flag -dwarf-debug-producer when invoking the integrated assembler on assembly source files. Then using the new setDwarfDebugProducer() method to set the AT_producer string. rdar://12888242 llvm-svn: 172758
* Do not pass -pie flag to linker if -shared specified. This matchesPeter Collingbourne2013-01-171-1/+1
| | | | | | | the gcc driver and makes it possible to add -pie to $CC or similar and have it apply in the right places. llvm-svn: 172753
* Add initial rough support for synthesizing linker options when passedChandler Carruth2013-01-171-1/+10
| | | | | | | | | | | -fopenmp in the link step on Linux. There is probably more tweaking that will need to take place to get good support for linking the relevant libraries on all Linux distributions and/or on other platforms, but this get's the ball moving and allows Clang to build programs which contain OpenMP pragmas that can be safely ignored by a compiler that doesn't implement them, and yet makes direct calls into the OpenMP runtime. llvm-svn: 172715
* Fix uninitialized bool flag access in SanitizerArgs parserAlexey Samsonov2013-01-161-2/+2
| | | | llvm-svn: 172605
* Add -fmodules-autolink/-fno-modules-autolink (defaults to on) so thatDouglas Gregor2013-01-161-1/+13
| | | | | | users can explicitly enable/disable modules autolinking. llvm-svn: 172592
* [driver/Darwin] Adjust SDKROOT handling code to not generate "-isysroot /".Daniel Dunbar2013-01-151-3/+4
| | | | llvm-svn: 172548
* Refactor the x86 CPU name logic in the driver and pass -march and -mcpuChandler Carruth2013-01-131-61/+71
| | | | | | | | | | flag information down from the Clang driver into the Gold linker plugin for LTO. This allows specifying -march on the linker commandline and should hopefully have it pass all the way through to the LTO optimizer. Fixes PR14697. llvm-svn: 172354
* Remove useless 'llvm::' qualifier from names like StringRef and others that areDmitri Gribenko2013-01-122-3/+3
| | | | | | brought into 'clang' namespace by clang/Basic/LLVM.h llvm-svn: 172323
* ToolChains: Minor touchup to use correct type, avoid truncation.Will Dietz2013-01-101-1/+1
| | | | | | | | | Truncation happens regularly when find_first_not_of returns npos, strings long enough to trigger bug here are implausible. No functionality change intended (ignoring absurd string lengths). llvm-svn: 172127
* [Mips] Pass a combination of +soft-float and -mips16-hard-float flags toSimon Atanasyan2013-01-101-1/+8
| | | | | | the backend if hard float ABI is selected under -mips16 mode. llvm-svn: 172062
* Prepare for the upcoming version of Debian (jessie)Sylvestre Ledru2013-01-061-2/+5
| | | | llvm-svn: 171655
* Silence some warnings and allow passing down some feature flags to the linker.Rafael Espindola2012-12-311-0/+12
| | | | | | Patch by Brad Smith. llvm-svn: 171329
* [ubsan] Recover by default, use -fno-sanitize-recover to disable.Will Dietz2012-12-301-0/+5
| | | | llvm-svn: 171264
* Fix a typo that caused a few standard library implementations of sort toChandler Carruth2012-12-291-1/+1
| | | | | | get the wrong answer. Wasn't caught by my implementation sadly... llvm-svn: 171222
* Try to re-structure the GCCVersion comparison routine to make it easierChandler Carruth2012-12-291-14/+27
| | | | | | | | | | | | to read and tell that it is a SWO -- we now descend through the components and return a result at the first inequal component. Also comment it a bit better and make it a total ordering by sorting on the text of the suffix if necessary. None of this should really be a visible change. llvm-svn: 171219
* Support -fsanitize-memory-track-origins.Evgeniy Stepanov2012-12-242-1/+12
| | | | llvm-svn: 171020
* Add ARM cortex-r5 subtarget as available mcpuQuentin Colombet2012-12-212-1/+2
| | | | llvm-svn: 170909
* Update comments.Rafael Espindola2012-12-211-3/+2
| | | | llvm-svn: 170890
* Fix Generic_GCC::GCCVersion::operator<Rafael Espindola2012-12-201-1/+2
| | | | | | | | | Without this patch comparing two equal versions without patch numbers (4.7 for example) will result in A < B and B < A. Patch by Simon Atanasyan. llvm-svn: 170705
* Fix code that attempted to produce a diagnostic with one DiagnosticEngine, thenRichard Smith2012-12-201-3/+6
| | | | | | | | produce a note for that diagnostic either with a different DiagnosticEngine or after calling DiagnosticEngine::Reset(). That didn't make any sense, and did the wrong thing if the original diagnostic was suppressed. llvm-svn: 170636
* [driver] Have -isysroot warn on nonexistent paths.Chad Rosier2012-12-191-1/+6
| | | | | | rdar://12282267 llvm-svn: 170611
* Enable the loop vectorizer in clang via -fvectorizeNadav Rotem2012-12-181-2/+2
| | | | llvm-svn: 170472
* Add support for passing the main file name down to the assemblerEric Christopher2012-12-182-14/+21
| | | | | | | | for location information. Part of PR14624 llvm-svn: 170391
* Fix PR14625 by teaching the driver to detect PWD for assembly files.Chandler Carruth2012-12-171-10/+21
| | | | | | | | | | | | | | This also requires adding support to -cc1as for passing the detecting PWD down through LLVM's debug info (which in turn required the LLVM change in r170371). The test case is weak (we only test the driver behavior) because there is currently to infrastructure for running cc1as in the test suite. So those four lines are untested (much like all other lines in that file), but we have a test for the same pattern using llvm-mc in the LLVM repository. llvm-svn: 170373
* Add support for current Ubuntu Quantal and the upcoming Raring.Rafael Espindola2012-12-131-1/+5
| | | | | | Patch by Martin Nowack. llvm-svn: 170147
* Initial support for FreeBSD on ARM.Rafael Espindola2012-12-133-0/+30
| | | | | | Patch by Andrew Turner. llvm-svn: 170096
* [driver] Don't warn about an unused -flto option.Chad Rosier2012-12-121-0/+4
| | | | | | rdar://12851905 llvm-svn: 170010
OpenPOWER on IntegriCloud