summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Forward -C and -CC to clang.Daniel Dunbar2009-06-081-1/+10
| | | | | | - <rdar://problem/6945384> Driver should pass down -C and -CC llvm-svn: 73087
* PR4016: Forward -fno-show-source-location to clang.Daniel Dunbar2009-06-081-1/+4
| | | | llvm-svn: 73082
* Set function Attribute::NoImplicitFloat appropriately.Devang Patel2009-06-051-1/+1
| | | | llvm-svn: 72961
* Add driver support for -fsigned-char/-funsigned-char.Eli Friedman2009-06-051-0/+10
| | | | llvm-svn: 72930
* forward -fno-color-diagnostics to clang-cc.Torok Edwin2009-06-041-0/+3
| | | | llvm-svn: 72856
* Driver: Support -mllvm; this just forwards options to clang-cc.Daniel Dunbar2009-06-031-0/+1
| | | | llvm-svn: 72780
* This patch adds support for sender-aware dispatch in Objective-C for the GNU ↵Fariborz Jahanian2009-05-221-0/+1
| | | | | | | | | | runtime, when compiled with -fobjc-sender-dependent-dispatch. This is used in AOP, COP, implementing object planes, and a few other things. Patch by David Chisnall. llvm-svn: 72275
* Don't warn about -funit-at-a-time, and reject -fno-unit-at-a-time.Daniel Dunbar2009-05-221-1/+9
| | | | | | | | | | - We could just warn about -fno-unit-at-a-time, but in practice people using it probably aren't going to get what they want out of clang. Also, use "clang" specified error for unsupported things instead of driver unsupported error. llvm-svn: 72272
* Don't rely on getArchName() to return a constant string reference.Daniel Dunbar2009-05-221-11/+14
| | | | llvm-svn: 72241
* Add --analyzer-no-default-checks and --analyzer-output options.Daniel Dunbar2009-05-221-13/+19
| | | | llvm-svn: 72238
* Remove -fprintf-source-range-info from the Driver (this was renamed)Daniel Dunbar2009-05-181-1/+0
| | | | llvm-svn: 72061
* Driver: Emit an unsupported error on -iframework.Daniel Dunbar2009-05-131-1/+2
| | | | llvm-svn: 71698
* Tweak x86 -mcpu defaults.Daniel Dunbar2009-05-061-0/+5
| | | | | | | | | - Default to yonah on Darwin (to get SSE3). - Default to Pentium4 (32-bit) and x86-64 (64-bit) on non-Darwin. Welcome to the 21st century. llvm-svn: 71069
* Improve handling of (X86) target features.Daniel Dunbar2009-05-061-51/+47
| | | | | | | | | | | | | | | | | | | | | - This is a WIP... - This adds -march= handling to the driver, and fixes the defaulting of -mcpu on Darwin (which was using the wrong test). Instead of handling -m{sse, ...} in the driver, pass them to clang-cc as -target-feature [+-]name In clang-cc, communicate with the (clang) target to discover the legal features of a target, and the features which are enabled based on -mcpu. This is currently hardcoded just enough to not be a feature regression, we need to get this information from the backend's TableGen information somehow. This is used to construct the full list of features which are being used, which is in turn used to initialize the predefines. llvm-svn: 71061
* Add -fobjc-tight-layout.Daniel Dunbar2009-05-041-0/+1
| | | | | | | | | | | | | | | | | | | - This implements gcc style Objective-C interface layout (I think). Currently it is always off, there is no functionality change unless this is passed. For the curious, the deal is that gcc lays out the fields of a subclass as if they were part of the superclass. That is, the subclass fields immediately follow the super class fields instead of being padded to the alignment of the superclass structure. - Currently gcc uses the tight layout in 32-bit and 64-bit modes, and llvm-gcc uses it in 32-bit only, for reasons which aren't clear yet. We probably want to switch to matching gcc, once this makes it through testing... my hope is that we can also fix llvm-gcc in order to maintain compatibility between the compilers. llvm-svn: 70827
* Driver: When using the generic gcc tool, pass -m32 or -m64 if weDaniel Dunbar2009-05-021-1/+10
| | | | | | | | | recognize the architecture. - This is an attempt to force gcc to the write target. - PR4094. llvm-svn: 70647
* Driver: Generate an error when trying to pass an LLVM bc input to aDaniel Dunbar2009-05-021-2/+22
| | | | | | non-Darwin linker (sorry Gold + LTO-plugin users). llvm-svn: 70641
* DragonFly ToolChain definition for driver.Daniel Dunbar2009-05-021-0/+156
| | | | | | - Patch by Alex Hornung! llvm-svn: 70635
* Implement -fmessage-length=N, which word-wraps diagnostics to N columns. Douglas Gregor2009-05-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Also, put a line of whitespace between the diagnostic and the source code/caret line when the start of the actual source code text lines up (or nearly lines up) with the most recent line of the diagnostic. For example, here it's okay for the last line of the diagnostic to be (vertically) next to the source line, because there is horizontal whitespace to separate them: decl-expr-ambiguity.cpp:12:16: error: function-style cast to a builtin type can only take one argument typeof(int)(a,5)<<a; However, here is a case where we need the vertical separation (since there is no horizontal separation): message-length.c:10:46: warning: incompatible pointer types initializing 'void (int, float, char, float)', expected 'int (*)(int, float, short, float)' int (*fp1)(int, float, short, float) = f; This is part one of <rdar://problem/6711348>. llvm-svn: 70578
* Make sure to pass the same options to the static analyzer as theDaniel Dunbar2009-04-291-140/+140
| | | | | | | compiler. - Code generation options may still affect the language... llvm-svn: 70393
* With -ccc-pch-is-pch, always treat precompiled inputs as PCH,Daniel Dunbar2009-04-281-1/+1
| | | | | | | | regardless of extension. - Otherwise we can't expect that just plugging in -ccc-pch-is-pch will work. llvm-svn: 70318
* Driver: Add -std-default= option.Daniel Dunbar2009-04-261-1/+16
| | | | | | | | | - This can be used to supply a default value for -std=; the idea is that this can be used in conjunction with CCC_ADD_ARGS or QA_OVERRIDE_GCC3_OPTIONS to change the default without having to modify the build system. llvm-svn: 70102
* Driver: -mkernel disables default use of unwind tables (although IDaniel Dunbar2009-04-251-1/+2
| | | | | | don't yet understand where this is happening in llvm-gcc). llvm-svn: 70012
* Driver: -mkernel and -fapple-kext imply -mno-red-zone.Daniel Dunbar2009-04-251-1/+3
| | | | llvm-svn: 70010
* Don't run dsymutil when making a fat executable direct source.Daniel Dunbar2009-04-241-1/+7
| | | | | | | | | | | | | | - Otherwise, we will end up with stray .dSYM files which don't get lipo'ed or removed. - Ideally we would run dsymutil on the result, but we don't have the infrastructure for that yet. Note that gcc doesn't handle this case either. - <rdar://problem/6809621> [driver] clang leaves .dSYM files lying around in tmp. llvm-svn: 69951
* Call ld, not collect2.Daniel Dunbar2009-04-231-1/+1
| | | | | | - <rdar://problem/6517382> [driver] call ld directly llvm-svn: 69938
* rename -fprint-source-range-info -> -fdiagnostics-print-source-range-info.Chris Lattner2009-04-211-0/+1
| | | | | | Temporarily accept both of them, I'll rip out the old one after awhile. llvm-svn: 69662
* Forward f[no-]dollars-in-identifiers to clang, when specified.Daniel Dunbar2009-04-191-2/+12
| | | | llvm-svn: 69549
* Forward -fno-diagnostics-fixit-info to clang-cc.Daniel Dunbar2009-04-191-0/+5
| | | | llvm-svn: 69546
* Preliminary PCH support in the driverDouglas Gregor2009-04-181-15/+40
| | | | llvm-svn: 69410
* Added -print-ivar-layout option. No change in functionalityFariborz Jahanian2009-04-171-0/+1
| | | | | | yet. llvm-svn: 69346
* Pass -fdiagnostics-show-option to clang-cc by default.Daniel Dunbar2009-04-161-0/+5
| | | | | | - <rdar://problem/6796848> implement -fdiagnostics-show-option llvm-svn: 69276
* Driver: Forward -W* to clang, it can handle all these itself now.Daniel Dunbar2009-04-161-4/+2
| | | | | | Remove clang_W_Group and clang_ignored_W_Group. llvm-svn: 69261
* Driver: For clang, accept -fsigned-bitfields and rejectDaniel Dunbar2009-04-151-0/+7
| | | | | | | | -funsigned-bitfields for now (clang defaults to -fsigned-bitfields). - <rdar://problem/6790309> ER: Support -fsigned-bitfields/-funsigned-bitfields llvm-svn: 69131
* Implement support for GCC's -dD mode, which dumps -E output *and*Chris Lattner2009-04-121-0/+1
| | | | | | macro definitions. llvm-svn: 68884
* Driver: Forward -miphoneos-version-min to clang.Daniel Dunbar2009-04-101-0/+1
| | | | llvm-svn: 68816
* Driver: Split out CPP specific options for clang so that we don't endDaniel Dunbar2009-04-081-246/+259
| | | | | | | | up adding them twice when running with -no-integrated-cpp or -save-temps. - <rdar://problem/6766636> -save-temps falls over with prefix headers llvm-svn: 68660
* More fixes to builtin preprocessor defines.Daniel Dunbar2009-04-081-0/+5
| | | | | | | | | | | | | | | | | | | | | - Add -static-define option driver can use when __STATIC__ should be defined (instead of __DYNAMIC__). - Don't set __OPTIMIZE_SIZE__ on Os, __OPTIMIZE_SIZE__ is tied to Oz. - Set __NO_INLINE__ following GCC 4.2. - Set __GNU_GNU_INLINE__ or __GNU_STDC_INLINE__ following GCC 4.2. - Set __EXCEPTIONS for Objective-C NonFragile ABI. - Set __STRICT_ANSI__ for standard conforming modes. - I added a clang style test case in utils for this, but its not particularly portable and I don't think it belongs in the test suite. llvm-svn: 68621
* Darwin ld: Unconditionally add -lstdc++ if we are pretending to beDaniel Dunbar2009-04-081-0/+5
| | | | | | g++. llvm-svn: 68601
* Make debug info work when using -save-temps.Daniel Dunbar2009-04-081-0/+5
| | | | | | | | | | | | | | | | | | - This is pretty ugly, but the most obvious solution. Chime in if you have a nicer one. - The problem is that with -save-temps, clang-cc has no idea what the name of the original input file is. However, the user expects to be able to set breakpoints based on the input file name. - We support this by providing a new option -main-file-name (similar to -dumpbase used by gcc) which allows the driver to pass in the original file name. - <rdar://problem/6753383> building with clang using --save-temps gets the compile unit name from the .i file... llvm-svn: 68595
* Set __PIC__ (more) correctly.Daniel Dunbar2009-04-081-0/+11
| | | | | | | | | | | - Add -pic-level clang-cc option to specify the value for the define, updated driver to pass this. - Added __pic__ - Added OBJC_ZEROCOST_EXCEPTIONS define while I was here (to match gcc). llvm-svn: 68584
* Driver: Fix forwarding of -fpascal-strings.Daniel Dunbar2009-04-071-14/+11
| | | | llvm-svn: 68570
* Driver: Fix forwarding of -{std,ansi,trigraphs} when there areDaniel Dunbar2009-04-071-2/+17
| | | | | | | | multiple instances of an option. Also, removed direct -ansi support from clang-cc. llvm-svn: 68558
* Driver: Forward remaining -f options to clang manually.Daniel Dunbar2009-04-071-1/+19
| | | | | | | - Groups are really just intended to hold inherent structure of the options, not be abused for individual tool argument translation. llvm-svn: 68554
* Driver: Only forward last instance of -mmacosx-version-min= andDaniel Dunbar2009-04-071-3/+4
| | | | | | | | -isysroot to clang. - Don't forward arbitrary -i* options to clang, just the ones we know about. llvm-svn: 68553
* Driver: Manually translate a number of -f with no- variants options toDaniel Dunbar2009-04-071-0/+26
| | | | | | | | | | | | clang. - We will eventually want some more driver infrastructre for this probably. - For now, the clang-cc interface stays relatively the same, but we don't accept multiple instances anymore, or the [no-] variants directly. llvm-svn: 68550
* Driver: Explicitly warn that -pg isn't supported (even though weDaniel Dunbar2009-04-071-3/+15
| | | | | | aren't failing the compilation). llvm-svn: 68540
* Driver: More verbosity reduction.Daniel Dunbar2009-04-071-1/+2
| | | | | | | | | | | | | | - Ignore some more -W options and -[fm] options which we can somewhat safely ignore. - Recognize that -W is an alias for -Wextra W: -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wfour-char-constants -Winit-self -Wmissing-format-attribute -Wno-#warnings -Wno-comment -Wno-long-long -Wno-variadic-macros -Wold-style-definition -Wstrict-prototypes -Wunused-parameter f: -fconstant-cfstrings -fdollars-in-identifiers -finline -finline-functions -fno-inline -fno-keep-inline-functions -fno-strict-aliasing -fobjc-atdefs -fobjc-call-cxx-cdtors -fobjc-new-property -fstack-protector m: -mconstant-cfstrings -mfix-and-continue llvm-svn: 68487
* Driver: Handle properly calling dsymutil when source input isDaniel Dunbar2009-04-041-2/+12
| | | | | | | | | | | | | | | | preceeded by a linker input flag. - <rdar://problem/6757236> clang should make a dSYM when going straight from source to binary - This still matches gcc, but the right way to solve this would be to detect the situation we care about (we are compiling from source and linking in one step), instead of looking at the suffix of the input file. The Tool doesn't quite have enough information to do this yet, however. - Also, find the suffix correctly. llvm-svn: 68417
* Driver: Explicitly ignore -fpch-preprocess when using clang, we don'tDaniel Dunbar2009-04-031-0/+8
| | | | | | need to do anything special to support this. llvm-svn: 68403
OpenPOWER on IntegriCloud