summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInvocation.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Add a -fcxx-exceptions flag to clang -cc1. This controls the newly added ↵Anders Carlsson2011-02-231-4/+7
| | | | | | CXXExceptions flag. llvm-svn: 126300
* Remove the storage for -cxx-system-include. Make libcxx toolchainJoerg Sonnenberger2011-02-221-5/+0
| | | | | | use -nostdinc++ and -cxx-isystem. llvm-svn: 126223
* Make clang -cc1 disable Objective-C exceptions by default, and add a ↵Anders Carlsson2011-02-221-2/+2
| | | | | | | | -fobjc-exceptions flag to turn them on. Update all tests accordingly. llvm-svn: 126177
* Bug#8945: Add -cxx-isystem option to specify C++ system directories.Joerg Sonnenberger2011-02-221-5/+8
| | | | | | | | | It works like -isystem and the search path keeps -isystem and -cxx-isystem in order relative to each other. -cxx-isystem is only used for C++ sources though. Drop the existing -cxx-system-include option for cc1 as it is now redundant. llvm-svn: 126167
* Add a new ObjCExceptions member variable to LangOptions. This controls ↵Anders Carlsson2011-02-191-2/+4
| | | | | | whether Objective-C exceptions are enabled or not (they are by default). llvm-svn: 126061
* Eliminate the internal command-line option for viewing inheritance in C++ ↵Douglas Gregor2011-02-171-8/+1
| | | | | | classes, since it's only really worked for the trivial cases anyway due to lame pseudo-parsing of the class name. The viewInheritance() function is still available for use in the debugger, where this is far more useful llvm-svn: 125762
* [analyzer] Use the new registration mechanism on the IdempotentOperationChecker.Argyrios Kyrtzidis2011-02-151-3/+0
| | | | llvm-svn: 125611
* [analyzer] Overhauling of the checker registration mechanism.Argyrios Kyrtzidis2011-02-141-3/+20
| | | | | | | | | | | | | | -Checkers will be defined in the tablegen file 'Checkers.td'. -Apart from checkers, we can define checker "packages" that will contain a collection of checkers. -Checkers can be enabled with -analyzer-checker=<name> and disabled with -analyzer-disable-checker=<name> e.g: Enable checkers from 'cocoa' and 'corefoundation' packages except the self-initialization checker: -analyzer-checker=cocoa -analyzer-checker=corefoundation -analyzer-disable-checker=cocoa.SelfInit -Introduces CheckerManager and CheckerProvider. CheckerProviders get the set of checker names to enable/disable and register them with the CheckerManager which will be the entry point for all checker-related functionality. Currently only the self-initialization checker takes advantage of the new mechanism. llvm-svn: 125503
* OpenCL: add support for __kernel, kernel keywords and EXTENSION,Peter Collingbourne2011-02-141-0/+1
| | | | | | FP_CONTRACT pragmas. Patch originally by ARM. llvm-svn: 125475
* Implement mcount profiling, enabled via -pg.Roman Divacky2011-02-101-0/+1
| | | | llvm-svn: 125282
* Driver/Frontend: Wire up -mregparm=.Daniel Dunbar2011-02-091-0/+5
| | | | llvm-svn: 125201
* static analyzer: Further reduce the analyzer's memory usage when analyzing ↵Ted Kremenek2011-02-091-0/+1
| | | | | | | | | | | | sqlite3 by 7-10% by recylcing "uninteresting" ExplodedNodes. The optimization involves eagerly pruning ExplodedNodes from the ExplodedGraph that contain practically no difference between the predecessor and successor nodes. For example, if the state is different between a predecessor and a node, the node is left in. Only for the 'environment' component of the state do we not care if the ExplodedNodes are different. This paves the way for future optimizations where we can reclaim the environment objects. llvm-svn: 125154
* -fapple-kext cannot have 'weak' visibility in thisFariborz Jahanian2011-02-041-2/+7
| | | | | | abi. llvm-svn: 124834
* Frontend: Add -header-include-file option, for allowing saving header includeDaniel Dunbar2011-02-021-0/+5
| | | | | | information to a file. llvm-svn: 124750
* Frontend: Factor out header include dumping (-H) into its own preprocessorDaniel Dunbar2011-02-021-3/+3
| | | | | | | | callbacks class. - Aside from being generally cleaner, this also allows -H to work correctly in modes other than standard preprocessing (e.g., -c, -MM, etc.) llvm-svn: 124723
* Basic support for -mms-bitfields, from Carl Norum!Douglas Gregor2011-02-011-0/+3
| | | | llvm-svn: 124661
* Support for -plugin-arg- with -add-pluginNico Weber2011-01-291-0/+12
| | | | llvm-svn: 124551
* [analyzer] Enable the self-init checker under command-line option ↵Argyrios Kyrtzidis2011-01-261-0/+3
| | | | | | | | '-analyzer-check-objc-self-init' which by default is enabled by the driver for '--analyze'. llvm-svn: 124266
* Add -add-plugin flag, which runs plugins in addition to codegen.Nico Weber2011-01-251-0/+6
| | | | llvm-svn: 124227
* Add all options needed to support -fapple-kext. wip.Fariborz Jahanian2011-01-071-1/+6
| | | | llvm-svn: 122987
* Fold -fobjc-nonfragile-abi2 into -fobjc-nonfragile-abi.Fariborz Jahanian2011-01-041-4/+3
| | | | | | // rdar://8818375 llvm-svn: 122831
* Add -fobjc-default-synthesized-properties flagTed Kremenek2010-12-231-0/+4
| | | | | | | | | | | | to allow us to explicitly control whether or not Objective-C properties are default synthesized. Currently this feature only works when using the -fobjc-non-fragile-abi2 flag (so there is no functionality change), but we can now turn off this feature without turning off all the features coupled with -fobjc-non-fragile-abi2. llvm-svn: 122519
* Add WIP prototype of a new buffer overflowTed Kremenek2010-12-231-1/+4
| | | | | | | checker based on using raw (symbolic) byte offsets from a base region. llvm-svn: 122469
* Implement -cl-std=Peter Collingbourne2010-12-041-0/+7
| | | | llvm-svn: 120882
* Implement -cl-mad-enablePeter Collingbourne2010-12-041-0/+1
| | | | llvm-svn: 120881
* Implement -cl-fast-relaxed-mathPeter Collingbourne2010-12-041-2/+5
| | | | llvm-svn: 120880
* Implement -cl-unsafe-math-optimizationsPeter Collingbourne2010-12-041-0/+1
| | | | llvm-svn: 120879
* Implement -cl-finite-math-onlyPeter Collingbourne2010-12-041-0/+1
| | | | llvm-svn: 120878
* Implement -cl-single-precision-constantPeter Collingbourne2010-12-041-0/+1
| | | | llvm-svn: 120877
* Implement -cl-opt-disablePeter Collingbourne2010-12-041-1/+5
| | | | llvm-svn: 120876
* Refactor optimisation level codePeter Collingbourne2010-12-041-14/+16
| | | | llvm-svn: 120875
* Introduce CompilerInvocation::setLangDefaults functionPeter Collingbourne2010-12-041-23/+33
| | | | | | | | | | | This patch refactors the CompilerInvocation code to introduce a CompilerInvocation::setLangDefaults function, which can set up a LangOptions with the defaults for a given language and language standard. This function is useful for non-command line based Clang clients which need to set up a CompilerInvocation manually for a specific language. llvm-svn: 120874
* Driver, Frontend: add CUDA language supportPeter Collingbourne2010-12-011-0/+8
| | | | llvm-svn: 120544
* Merge System into Support.Michael J. Spencer2010-11-291-2/+2
| | | | llvm-svn: 120297
* Add -cc1 -ast-dump-xml, an excessively detailed XML dump of the internalsJohn McCall2010-11-241-0/+3
| | | | | | | | | | | | | of the ASTs. Only available in assertions builds. No stability guarantee. This is intended solely as a debugging tool. I'm not sure if the goals are sufficiently aligned with the XML printer to allow a common implementation. Currently just falls back on the StmtDumper to display statements, which means it doesn't produce valid XML in those cases. llvm-svn: 120088
* now the FileManager has a FileSystemOpts ivar, stop threadingChris Lattner2010-11-231-8/+5
| | | | | | | | | FileSystemOpts through a ton of apis, simplifying a lot of code. This also fixes a latent bug in ASTUnit where it would invoke methods on FileManager without creating one in some code paths in cindextext. llvm-svn: 120010
* give FileManager a 'FileSystemOptions' ivar, which will be usedChris Lattner2010-11-231-1/+1
| | | | | | | to simplify a bunch of code in it. It should ultimately get inlined into FileManager. llvm-svn: 120007
* -Rename -Wargument-larger-than -> -Wlarge-by-value-copyArgyrios Kyrtzidis2010-11-181-1/+1
| | | | | | | | | -Improve the diagnostic message -Add some comments Suggestions by Chris. llvm-svn: 119594
* Introduce option -Wargument-larger-than[=N] which warns about function ↵Argyrios Kyrtzidis2010-11-171-0/+2
| | | | | | | | | | definitions if they take by-value or return by-value any POD that is larger than some threshold (default is 64 bytes). Implements rdar://8548050. llvm-svn: 119583
* Implement -working-directory.Argyrios Kyrtzidis2010-11-031-2/+26
| | | | | | | | | | | | | | | | | | | When -working-directory is passed in command line, file paths are resolved relative to the specified directory. This helps both when using libclang (where we can't require the user to actually change the working directory) and to help reproduce test cases when the reproduction work comes along. --FileSystemOptions is introduced which controls how file system operations are performed (currently it just contains the working directory value if set). --FileSystemOptions are passed around to various interfaces that perform file operations. --Opening & reading the content of files should be done only through FileManager. This is useful in general since file operations will be abstracted in the future for the reproduction mechanism. FileSystemOptions is independent of FileManager so that we can have multiple translation units sharing the same FileManager but with different FileSystemOptions. Addresses rdar://8583824. llvm-svn: 118203
* Substantially revise how clang computes the visibility of a declaration toJohn McCall2010-10-221-6/+6
| | | | | | | | more closely parallel the computation of linkage. This gets us to a state much closer to what gcc emits, modulo bugs, which will undoubtedly arise in abundance. llvm-svn: 117147
* Reorganize predefined macros for all Windows targets.Michael J. Spencer2010-10-211-0/+3
| | | | | | | | | | This adds an option to set the _MSC_VER macro without recompiling. This is very useful when testing compatibility with the Windows SDK and c++stdlib headers. -fmsc-version=<version> (defaults to VS2003 (1300)) llvm-svn: 116999
* Fix Whitespace.Michael J. Spencer2010-10-211-13/+13
| | | | llvm-svn: 116990
* "Fix" bogus idempotent operations warning due to loop unrolling not ↵Ted Kremenek2010-10-181-1/+1
| | | | | | | | | | unrolling enough loops to show that an invariant doesn't hold. This fix is to increase the loop unrolling count to 4, which experiments show doesn't typically impact analysis time. The real fix is to modify the IdempotentOperationsChecker to suppress warnings where an analysis point could be preceded by a point where we gave up due to loop unrolling. llvm-svn: 116769
* Wire up the -fstrict-aliasing and -fno-strict-aliasing optionsDan Gohman2010-10-141-0/+1
| | | | | | to CodeGenOption flags. llvm-svn: 116530
* Introduce command line option -error-on-deserialized-decl that is ↵Argyrios Kyrtzidis2010-10-141-0/+6
| | | | | | | | | | accompanied by a name and emits an error if a declaration with this name is deserialized from PCH. This is for testing, to make sure that we don't deserialize stuff needlessly. llvm-svn: 116505
* Introduce command line option -dump-deserialized-decls which is used to ↵Argyrios Kyrtzidis2010-10-141-0/+1
| | | | | | print the PCH decls that got deserialized, for testing purposes. llvm-svn: 116503
* Eliminate the (de-)serialization of code completion results, now thatDouglas Gregor2010-10-111-4/+0
| | | | | | libclang does not support out-of-process code completion. llvm-svn: 116253
* Eliminate -fdiagnostics-binary and all of the infrastructure forDouglas Gregor2010-10-111-3/+0
| | | | | | | | emitting diagnostics in a binary form to be consumed by libclang, since libclang no longer does any of its work out-of-process, making this code dead. Besides, this stuff never worked at 100% anyway. llvm-svn: 116250
* Declare argv parameters as const char* const* instead of to char** to ↵Axel Naumann2010-10-111-2/+2
| | | | | | clarify that they are not modified, and to allow for string literals as arguments. llvm-svn: 116200
OpenPOWER on IntegriCloud