summaryrefslogtreecommitdiffstats
path: root/clang/docs
Commit message (Collapse)AuthorAgeFilesLines
* Update matcher documentation with script.Daniel Jasper2012-12-041-154/+449
| | | | | | | We still need to make the python script understand some of the new matchers, but this should be an improvement. llvm-svn: 169258
* Document the existence of -fsanitize=bounds.Richard Smith2012-12-041-2/+5
| | | | llvm-svn: 169207
* This patch exposes to Clang users three more sanitizers are experimental ↵Alexey Samsonov2012-11-291-0/+16
| | | | | | | | | | | | | | features of ASan: 1) init-order sanitizer: initialization-order checker. Status: usable, but may produce false positives w/o proper blacklisting. 2) use-after-return sanitizer Status: implemented, but heavily understed. Should be optional, as it significanlty slows program down. 3) use-after-scope sanitizer Status: in progress. llvm-svn: 168950
* Add -fsanitize=integer for reporting suspicious integer behaviors.Will Dietz2012-11-271-6/+16
| | | | | | Introduces new sanitizer "unsigned-integer-overflow". llvm-svn: 168701
* Updates to user's manual and release notes for -fsanitize= options.Richard Smith2012-11-062-31/+66
| | | | llvm-svn: 167479
* Use -fsanitize= flag in docs for ASan/TSanAlexey Samsonov2012-11-062-7/+7
| | | | llvm-svn: 167465
* [asan docs] explain why asan exits on the first errorKostya Serebryany2012-10-301-0/+7
| | | | llvm-svn: 167004
* Remove clang-fixit from tools page as it is currently not planned as aDaniel Jasper2012-10-261-13/+5
| | | | | | | separate tool. Review: http://llvm-reviews.chandlerc.com/D81 llvm-svn: 166766
* Update docs about TSan availability in CMake buildAlexey Samsonov2012-10-241-4/+5
| | | | llvm-svn: 166558
* Fix some wordings in AddressSanitizer docs.Alexey Samsonov2012-10-241-8/+9
| | | | llvm-svn: 166557
* Change VerifyDiagnosticConsumer so that it *must* contain at least one ↵Andy Gibbs2012-10-191-1/+3
| | | | | | | | | | "expected-*" directive. As a result, for test-cases that are not expected to generate any diagnostics, an additional directive "expected-no-diagnostics" has been implemented which can then be included in such test-cases. This new directive may not be used in conjunction with any other "expected-*" directive. This change was initially proposed as a solution to the problem highlighted by check-in r164677, i.e. that -verify will not cause a test-case failure where the compile command does not actually reference the file. Patch reviewed by David Blaikie. llvm-svn: 166281
* [asan] update asan docs to explain more about linking and to mention full ↵Kostya Serebryany2012-10-191-2/+15
| | | | | | support for i386 Linux llvm-svn: 166271
* PR14004: Fix typo in documentation.Richard Smith2012-10-031-1/+1
| | | | llvm-svn: 165158
* Update the block specification for some long-settled subleties.John McCall2012-10-031-9/+15
| | | | llvm-svn: 165090
* Add the Microsoft __is_interface_class type trait.John McCall2012-09-251-0/+1
| | | | | | Patch by Andy Gibbs! llvm-svn: 164591
* Fix a typo in the PCH internals documentationDouglas Gregor2012-09-211-1/+1
| | | | llvm-svn: 164409
* Added link to HowToSetupToolingForLLVM.html. Added missing #include to the ↵Alexander Kornienko2012-09-191-0/+3
| | | | | | example. llvm-svn: 164226
* Added an example of an empty case label to avoid confusion.Alexander Kornienko2012-09-171-1/+2
| | | | llvm-svn: 164055
* Update the PCH internals documentation to cover chained precompiledDouglas Gregor2012-09-161-97/+223
| | | | | | | headers and modules in more detail. I'd still like to expand on some of the modules-related issues further, but this is a decent start. llvm-svn: 163989
* Fix copy-paste error in manpage. Should be -stdlib=library.Ted Kremenek2012-09-141-1/+1
| | | | llvm-svn: 163914
* Revert "Remove clang man page reference to -Oz. It's not an option we want ↵Ted Kremenek2012-09-101-3/+4
| | | | | | | | people to use, and is around for historical reasons." This should be discussed more first. llvm-svn: 163560
* [analyzer] Make the defaults explicit for each of the new config options.Jordan Rose2012-09-101-4/+39
| | | | | | Also, document both new inlining options in IPA.txt. llvm-svn: 163551
* Remove clang man page reference to -Oz. It's not an option we want people ↵Ted Kremenek2012-09-101-4/+3
| | | | | | to use, and is around for historical reasons. llvm-svn: 163538
* Adds a first iteration of the basic AST matcher documentation landing page.Manuel Klimek2012-09-071-0/+130
| | | | llvm-svn: 163387
* Introduces anchors into LibASTMatchersReference.html.Manuel Klimek2012-09-072-159/+184
| | | | | | | | This allows linking to LibASTMatchersRefernce.html#<matcher><N>Anchor to link to the N'the declaration of a matcher and automatically expand its documentation. llvm-svn: 163386
* Update AddressSanitizer docsAlexey Samsonov2012-09-061-5/+3
| | | | llvm-svn: 163303
* Fix a mistake in an HTML example code snippet.Jordan Rose2012-09-061-1/+1
| | | | | | Caught by Kurt Arnlund! llvm-svn: 163286
* New clang-check vim integration scriptAlexander Kornienko2012-09-051-4/+30
| | | | | | | | | | | | | | Summary: New clang-check vim integration with the 're-run the last invocation when executed from .h file' feature. Reviewers: klimek Reviewed By: klimek CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D35 llvm-svn: 163211
* [analyzer] Though C++ inlining is enabled, don't inline ctors and dtors.Jordan Rose2012-08-311-0/+20
| | | | | | | | | | | | | | | | More generally, this adds a new configuration option 'c++-inlining', which controls which C++ member functions can be considered for inlining. This uses the new -analyzer-config table, so the cc1 arguments will look like this: ... -analyzer-config c++-inlining=[none|methods|constructors|destructors] Note that each mode implies that all the previous member function kinds will be inlined as well; it doesn't make sense to inline destructors without inlining constructors, for example. The default mode is 'methods'. llvm-svn: 163004
* Documentation: correct a typo introduced in r162971.Dmitri Gribenko2012-08-311-1/+1
| | | | llvm-svn: 162975
* Documentation: add missing word "accepts".Dmitri Gribenko2012-08-311-2/+2
| | | | llvm-svn: 162971
* [analyzer] Make analyzer-ipa=dynamic-bifurcate the default.Anna Zaks2012-08-301-1/+1
| | | | | | | There are two tests regressions that come from the fact that the Retain Count checker does not cancel out inlining of ObjC methods. llvm-svn: 162950
* Fix missing 'clang' in pragma example in ARC doc.Ted Kremenek2012-08-301-2/+2
| | | | llvm-svn: 162933
* Clarify the point at which ARC destroys ivars vis-à-visJohn McCall2012-08-291-0/+30
| | | | | | [super dealloc]. rdar://problem/11141872 llvm-svn: 162833
* This is a temporary solution until we have a better way toManuel Klimek2012-08-271-0/+264
| | | | | | | | | | parse doxygen comments for macros with libclang. I'm not entirely happy about this script, but as it saves a lot of work in keeping the docs up to date with the actual code I think checking it in makes sense. llvm-svn: 162690
* [analyzer] Don't inline constructors for objects allocated with operator new.Jordan Rose2012-08-271-1/+2
| | | | | | | | | | | Because the CXXNewExpr appears after the CXXConstructExpr in the CFG, we don't actually have the correct region to construct into at the time we decide whether or not to inline. The long-term fix (discussed in PR12014) might be to introduce a new CFG node (CFGAllocator) that appears before the constructor. Tracking the short-term fix in <rdar://problem/12180598>. llvm-svn: 162689
* [analyzer] Update inlining design notes for r162681.Jordan Rose2012-08-271-5/+7
| | | | llvm-svn: 162688
* Update reference docs to latest changes.Manuel Klimek2012-08-261-163/+177
| | | | llvm-svn: 162650
* Stub out a release notes section on -fcatch-undefined-behavior.Richard Smith2012-08-251-0/+7
| | | | llvm-svn: 162636
* Update the user's manual for some of the new -fcatch-undefined-behavior ↵Richard Smith2012-08-251-5/+17
| | | | | | features. llvm-svn: 162635
* Updated LibTooling.html, minor improvements in CommonOptionsParserAlexander Kornienko2012-08-241-72/+52
| | | | llvm-svn: 162521
* [analyzer] Restructure discussion of DynamicTypeInfo and RuntimeDefinition.Jordan Rose2012-08-221-63/+65
| | | | | | | | | | Since DynamicTypeInfo is not inherently related to inlining or to dynamic calls, it makes more sense (to me) to discuss it first. Also fix some typos, massage some grammar, and (hopefully) improve precision and clarity. llvm-svn: 162365
* [analyzer] Per feedback, re-structure the docs for ExprInspection checks.Jordan Rose2012-08-221-30/+51
| | | | | | | | Also, remove the FIXME about merging -analyzer-stats and the debug.Stats checker. This would be a bad idea because simply running debug.Stats can affect the output of -analyzer-stats. llvm-svn: 162364
* [analyzer] IPA document: address Ted's review comments (pathAnna Zaks2012-08-221-27/+19
| | | | | | bifurcation) llvm-svn: 162343
* Review, comment, and reformat IPA.txt, including feedback comments.Ted Kremenek2012-08-221-53/+259
| | | | | | | | | | | | | | | | | | | | | | | | | | Formatting includes: - removing line wraps (Emacs Cmd-Q), to make text easier to read - provide useful indentation - call out caveats and notes more explictly Stylistically, I prefer the document talk in 3rd person instead of "we". The term "we" is unambiguous, and sometimes refers to different things. I've passed over the existing paragraphs and made them speak more about specific entities that compose the analyzer and what they do (e.g., ExprEngine) instead of "we" referring to the analyzer. Further, I have substituted some vague concepts such as "state" or "program state" and replaced them with their precise implementation counterparts (e.g., ProgramState). This makes the document more technically precise throughout the entire narrative, which would sometimes use vague terms and other times precise terms. I've placed several comments within the document, which can be seen with ***TMK/COMMENT***, which indicate places that need to be enhanced or clarified, or called out as questions about intended bheavior. llvm-svn: 162338
* [analyzer] Document our debug checkers and ExprInspection's "builtins".Jordan Rose2012-08-221-0/+68
| | | | llvm-svn: 162336
* [analyzer] Set the default IPA mode to 'basic-inlining', which excludes C++.Jordan Rose2012-08-211-3/+4
| | | | | | | | | | | | | | | | | | | Under -analyzer-ipa=basic-inlining, only C functions, blocks, and C++ static member functions are inlined -- essentially, the calls that behave like simple C function calls. This is essentially the behavior in Xcode 4.4. C++ support still has some rough edges, and we don't want users to be worried about them if they download and run their own checker. (In particular, the massive number of false positives for analyzing LLVM comes from inlining defensively-written code in contexts where more aggressive assumptions are implicitly made. This problem is not unique to C++, but it is exacerbated by the higher proportion of code that lives in header files in C++.) The eventual goal is to be comfortable enough with C++ support (and simple Objective-C support) to advance to -analyzer-ipa=inlining as the default behavior. See the IPA design notes for more details. llvm-svn: 162318
* Fix a pair of bugs relating to properties in ARC.John McCall2012-08-201-0/+9
| | | | | | | | | | | | | | | | | | | | First, when synthesizing an explicitly strong/retain/copy property of Class type, don't pretend during compatibility checking that the property is actually assign. Instead, resolve incompatibilities by secretly changing the type of *implicitly* __unsafe_unretained Class ivars to be strong. This is moderately evil but better than what we were doing. Second, when synthesizing the setter for a strong property of non-retainable type, be sure to use objc_setProperty. This is possible when the property is decorated with the NSObject attribute. This is an ugly, ugly corner of the language, and we probably ought to deprecate it. The first is rdar://problem/12039404; the second was noticed by inspection while fixing the first. llvm-svn: 162244
* Adds the most requested doc for the AST matchers: a referenceManuel Klimek2012-08-201-0/+1899
| | | | | | | | | | of matchers, categorized by type and fully expanded for the context in which they can be used. I used a script to generate this documentation which I'll want to be scrunitized by a code review before checking it in. llvm-svn: 162225
* Add release notes for type safety attributes.Dmitri Gribenko2012-08-171-0/+19
| | | | llvm-svn: 162102
OpenPOWER on IntegriCloud