aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Driver
AgeCommit message (Collapse)Author
2010-04-27Add Driver support for -fno-constant-cfstrings.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102431 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-24NeXT: Clean up dispatch method policy selection.Daniel Dunbar
- Replace -cc1 level -fobjc-legacy-dispatch with -fobjc-dispatch-method={legacy,non-legacy,mixed}. - Lift "mixed" vs "non-mixed" policy choice up to driver level, instead of being buried in CGObjCMac.cpp. - No intended functionality change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102255 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-24Teach clang -fixit to modify files in-place, or -fixit=suffix to create newNick Lewycky
files with the additional suffix in the middle. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102230 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-22Support for -fno-constant-cfstrings option - wip.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102112 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-20Introduce a limit on the depth of the template instantiation backtraceDouglas Gregor
we will print with each error that occurs during template instantiation. When the backtrace is longer than that, we will print N/2 of the innermost backtrace entries and N/2 of the outermost backtrace entries, then skip the middle entries with a note such as: note: suppressed 2 template instantiation contexts; use -ftemplate-backtrace-limit=N to change the number of template instantiation entries shown This should eliminate some excessively long backtraces that aren't providing any value. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101882 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-17Add support for '-fgnu-keywords' and '-fasm' to Clang's driver. They are notChandler Carruth
implemented precisely the same as GCC, but the distinction GCC makes isn't useful to represent. This allows parsing code which uses GCC-specific keywords ('asm', etc.) without parsing in a fully GNU mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101667 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15clang -cc1: Add a -fno-bitfield-type-align option, for my own testing purposes.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101370 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-15Driver/Frontend: Add support for -mllvm, which forwards options to the LLVM ↵Daniel Dunbar
option parser. - Note that this is a behavior change, previously -mllvm at the driver level forwarded to clang -cc1. The driver does a little magic to make sure that '-mllvm -disable-llvm-optzns' works correctly, but other users will need to be updated to use -Xclang. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101354 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13Add a cc1 option to specify the max number of nodes the analyzer can explore.Zhongxing Xu
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101120 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-13add frontend support for -fdata-sections and -ffunction-sections,Chris Lattner
patch by Sylvere Teissier! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101108 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-10Rename -dump-record-layouts to -fdump-record-layouts now that the option ↵Anders Carlsson
behaves like aa flag. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100943 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-10Driver: Ignore -fobjc-gc and -fobjc-gc-only for platforms which don't ↵Daniel Dunbar
support them. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100930 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-09Fix typo.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100887 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-09Argh, I modified the .inc file locally, not the .td.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100881 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-08Fronted: Kill overly specialized RecordLayoutDumper, just make ↵Daniel Dunbar
-dump-record-layouts a bit that Sema honors. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100747 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07add a new driver-level -ferror-limit=412 option, which causes clang to stopChris Lattner
emitting diagnostics after it has produced that many errors. Give this a default value of 20 which produces plenty of errors for people to fix before recompiling but not so many that their entire console scrolls away when the compiler gets confused. The experience looks like this: $ clang foo.c <tons of crap> foo.c:102:3: error: unknown type name 'somethingbad' somethingbad x; ^ fatal error: too many errors emitted, stopping now 36 warnings and 20 errors generated. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100689 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-07add clang -cc1 level support for "-ferror-limit 42"Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100687 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-06Driver: Add a Tool::hasGoodDiagnostics hook, and use it to simplify logic forDaniel Dunbar
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100529 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-02Add option and macro definition for AES instructions. Now produces realEric Christopher
assembly for testcases. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100253 91177308-0d34-0410-b5e6-96231b3b80d8
2010-04-01Driver: Add support for a CLANGXX_IS_PRODUCTION build variable, which enableDaniel Dunbar
Clang++ support, even in "Production" mode (for testing purposes). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100119 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-29add support for -MQ flag to quote targets in dependency file,Chris Lattner
PR6661, patch by Ori Avtalion! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99821 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-26No need to specify ${CMAKE_CURRENT_BINARY_DIR}Kovarththanan Rajaratnam
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99622 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-24Implement support for -nostdc++. Fixes PR6446.Douglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99417 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-22Add very limited support for GCC's '-B' flag. This allows us to support unusualChandler Carruth
toolchain configurations and is a small step toward FreeBSD support. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99159 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-20Driver: Support CC_PRINT_OPTIONS, used for logging the compile commands (in ↵Daniel Dunbar
-v style) to a file. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99054 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-20C++: Add support for -fno-use-cxa-atexit.Daniel Dunbar
- So much typing, so little gain... Also, rename the __cxx_global_initialization function just to match llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99039 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-20Driver: Force joining of "-l" "foo", the linker doesn't eat that format.Daniel Dunbar
<rdar://problem/7641151> clang must eat spaces after -l git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99023 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-19clang -cc1: Kill off -empty-input only, and replace with -init-only which is anDaniel Dunbar
actual action. - This is easier to use, and more reliable for timing the thing this was actually meant to be useful for. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98978 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-19Optionally store a PreprocessingRecord in the preprocessor itself, andDouglas Gregor
tie its creation to a CC1 flag -detailed-preprocessing-record. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98963 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-17Make -faccess-control and -fno-access-control driver options.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98703 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-16Driver: Fix forwarding of -fno-lax-vector-conversions.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98639 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-15Add support for -Wwrite-strings. Patch by Mike M! Fixes PR 4804.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98541 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Driver: Free Action objects.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98263 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Driver: Free synthesized derived arguments.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98262 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-11Driver: Free jobs in JobList and PipedJob instances.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@98261 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04add TCE target support, patch by Pekka J!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97746 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-04Add in -msse4.1 and -msse4.2 options and continuing a ratherEric Christopher
hacky solution for translating. Expanded on comment explaining the hack a bit. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97714 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-28Pass '-no-canonical-prefixes' on down to GCC. It's not specific to the ClangChandler Carruth
driver and was in fact based on a feature in GCC. =] git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97424 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-25Driver: Allow driver title (for --help) to be overridden by clients.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97106 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-23Unconditionally support block introspection data in a new field at the endBlaine Garst
of the block descriptor field. This field is the ObjC style @encode signature of the implementation function, and was to this point conditionally provided in the block literal data structure. That provisional support is removed. Additionally, eliminate unused enumerations for the block literal flags field. The first shipping ABI unconditionally set (1<<29) but this bit is unused by the runtime, so the second ABI will unconditionally have (1<<30) set so that the runtime can in fact distinguish whether the additional data is present or not. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96989 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-19Re-introduce the ctor/dtor alias optimization, this time hidden behind aJohn McCall
command-line option which defaults off. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96649 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-17PR5803: clang++: Treat untyped 'C' inputs as C++.Daniel Dunbar
- Patch by Andrzej K. Haczewski, with a tweak by me to emit a 'deprecated' diagnostic when we do this. We'll see what zee users say. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96511 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-14Add new static analyzer for checking LLVM coding conventions: ↵Ted Kremenek
-analyzer-check-llvm-conventions Currently these checks are intended to be largely syntactical, but may get more sophisticated over time. As an initial foray into this brave new world, emit a static analyzer warning when binding a temporary 'std::string' to an 'llvm::StringRef' where the lifetime of the 'std::string' does not outlive the 'llvm::StringRef'. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96147 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-12Add an option to disable the LLVM verifier pass (which is still alwaysJohn McCall
disabled in NDEBUG builds). The option applies only to -cc1 invocations and is: -disable_llvm_verifier git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@96046 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-11Remove noisy semicolon.Benjamin Kramer
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95872 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-11Check in the beginnings of my new vtable layout builder idea.Anders Carlsson
Right now, it's off by default but can be tested by passing -fdump-vtable-layouts to clang -cc1. This option will cause all vtables that will normally be emitted as part of codegen to also be dumped using the new layout code. I've also added a very simple new vtable layout test case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95865 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-11Driver: Add -rewrite-objc, which is an interface to clang -cc1 -rewrite-objc.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95849 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10Switch to using -fsjlj-exceptions instead of hard-coding it. Notably, this fixesDaniel Dunbar
calls to the UnwindResumeOrRethrow function for C++/Obj-C exception handling, for Darwin ARM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95787 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-10clang -cc1: Add -fsjlj-exceptions, which requires far too much button pushing.Daniel Dunbar
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95785 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-09Implement synthesizing properties by default.Fariborz Jahanian
This is a non-fragile-abi feature only. Since it breaks existing code, it is currently placed under -fobjc-nonfragile-abi2 option for test purposes only until further notice. WIP. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95685 91177308-0d34-0410-b5e6-96231b3b80d8