summaryrefslogtreecommitdiffstats
path: root/clang/docs
Commit message (Collapse)AuthorAgeFilesLines
* Re-apply r267784, r267824 and r267830.Peter Collingbourne2016-04-284-24/+137
| | | | | | I have updated the compiler-rt tests. llvm-svn: 267903
* Fix build.Manuel Klimek2016-04-281-1/+1
| | | | llvm-svn: 267883
* Fix spuriously dematerializing reference bug. Fixes PR26612.Manuel Klimek2016-04-281-2/+4
| | | | llvm-svn: 267877
* Revert r267784, r267824 and r267830.Benjamin Kramer2016-04-284-137/+24
| | | | | | | | | | It makes compiler-rt tests fail if the gold plugin is enabled. Revert "Rework interface for bitset-using features to use a notion of LTO visibility." Revert "Driver: only produce CFI -fvisibility= error when compiling." Revert "clang/test/CodeGenCXX/cfi-blacklist.cpp: Exclude ms targets. They would be non-cfi." llvm-svn: 267871
* Rework interface for bitset-using features to use a notion of LTO visibility.Peter Collingbourne2016-04-274-24/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bitsets, and the compiler features they rely on (vtable opt, CFI), only have visibility within the LTO'd part of the linkage unit. Therefore, only enable these features for classes with hidden LTO visibility. This notion is based on object file visibility or (on Windows) dllimport/dllexport attributes. We provide the [[clang::lto_visibility_public]] attribute to override the compiler's LTO visibility inference in cases where the class is defined in the non-LTO'd part of the linkage unit, or where the ABI supports calling classes derived from abstract base classes with hidden visibility in other linkage units (e.g. COM on Windows). If the cross-DSO CFI mode is enabled, bitset checks are emitted even for classes with public LTO visibility, as that mode uses a separate mechanism to cause bitsets to be exported. This mechanism replaces the whole-program-vtables blacklist, so remove the -fwhole-program-vtables-blacklist flag. Because __declspec(uuid()) now implies [[clang::lto_visibility_public]], the support for the special attr:uuid blacklist entry is removed. Differential Revision: http://reviews.llvm.org/D18635 llvm-svn: 267784
* [Docs] Fix indentation error introduced by r267447.George Burgess IV2016-04-261-7/+7
| | | | llvm-svn: 267501
* [Docs] Clarify what the object-size sanitizer does.George Burgess IV2016-04-251-5/+8
| | | | | | | | | | Currently, the UBSan docs make it sound like the object-size sanitizer will only detect out-of-bounds reads/writes. It also catches some operations that don't necessarily access memory (invalid downcasts, calls of methods on invalid pointers, ...). This patch adds a note about this behavior in the docs. llvm-svn: 267447
* [sanitizer-coverage] better docs for -fsanitize-coverage=trace-bbKostya Serebryany2016-04-181-1/+17
| | | | llvm-svn: 266672
* Add typedefNameDecl() and typeAliasDecl() to the AST matchers; improves ↵Aaron Ballman2016-04-141-2/+25
| | | | | | | | hasType() to match on TypedefNameDecl nodes. Patch by Clement Courbet. llvm-svn: 266331
* Add AST Matchers for CXXConstructorDecl::isDelegatingConstructor and ↵Alexander Kornienko2016-04-131-13/+38
| | | | | | | | | | | | | | | | CXXMethodDecl::isUserProvided. Summary: Added two AST matchers: isDelegatingConstructor for CXXConstructorDecl::IsDelegatingConstructor; and isUserProvided corresponding to CXXMethodDecl::isUserProvided. Reviewers: aaron.ballman, alexfh Subscribers: klimek, cfe-commits Patch by Michael Miller! Differential Revision: http://reviews.llvm.org/D19038 llvm-svn: 266189
* Add a PragmaHandler Registry for plugins to add PragmaHandlers toJohn Brawn2016-04-041-0/+20
| | | | | | | | | | This allows plugins which add AST passes to also define pragmas to do things like only enable certain behaviour of the AST pass in files where a certain pragma is used. Differential Revision: http://reviews.llvm.org/D18319 llvm-svn: 265295
* Docs: keep copyright years up-to-date.Paul Robinson2016-03-301-1/+2
| | | | llvm-svn: 264941
* [ASTMatchers] Existing matcher hasAnyArgument fixedGabor Horvath2016-03-302-10/+6
| | | | | | | | | | | | Summary: A checker (will be uploaded after this patch) needs to check implicit casts. The checker needs matcher hasAnyArgument but it ignores implicit casts and parenthesized expressions which disables checking of implicit casts for arguments in the checker. However the documentation of the matcher contains a FIXME that this should be removed once separate matchers for ignoring implicit casts and parenthesized expressions are ready. Since these matchers were already there the fix could be executed. Only one Clang checker was affected which was also fixed (ignoreParenImpCasts added) and is separately uploaded. Third party checkers (not in the Clang repository) may be affected by this fix so the fix must be emphasized in the release notes. Reviewers: klimek, sbenza, alexfh Subscribers: alexfh, klimek, xazax.hun, cfe-commits Differential Revision: http://reviews.llvm.org/D18243 llvm-svn: 264855
* Update the description of Clang's MSVC compatibility flagsReid Kleckner2016-03-281-24/+13
| | | | llvm-svn: 264651
* Fix Sphinx errors with documentation build.Aaron Ballman2016-03-241-1/+3
| | | | llvm-svn: 264263
* Add release notes for the removal of the silent include of altivec.h.Eric Christopher2016-03-241-0/+1
| | | | llvm-svn: 264236
* Add missing __builtin_bitreverse8Matt Arsenault2016-03-231-0/+27
| | | | | | Also add documentation for bitreverse builtins llvm-svn: 264203
* [ASTMatchers] New matcher hasReturnValue addedAlexander Kornienko2016-03-221-0/+12
| | | | | | | | | | | | | | Summary: A checker (will be uploaded after this patch) needs to check implicit casts. Existing generic matcher "has" ignores implicit casts and parenthesized expressions and no specific matcher for matching return value expression preexisted. The patch adds such a matcher (hasReturnValue). Reviewers: klimek, sbenza Subscribers: xazax.hun, klimek, cfe-commits Patch by Ádám Balogh! Differential Revision: http://reviews.llvm.org/D17986 llvm-svn: 264037
* clang-format: Make include sorting's main include detection configurable.Daniel Jasper2016-03-211-0/+29
| | | | | | | | | | This patch adds a regular expression to configure suffixes of an included file to check whether it is the "main" include of the current file. Previously, clang-format has allowed arbitrary suffixes on the formatted file, which is still the case when no IncludeMainRegex is specified. llvm-svn: 263943
* Make it possible for AST plugins to enable themselves by defaultJohn Brawn2016-03-151-0/+20
| | | | | | | | | | | | Currently when an AST plugin is loaded it must then be enabled by passing -plugin pluginname or -add-plugin pluginname to the -cc1 command line. This patch adds a method to PluginASTAction which allows it to declare that the action happens before, instead of, or after the main AST action, plus the relevant changes to make the plugin action happen at that time automatically. Differential Revision: http://reviews.llvm.org/D17959 llvm-svn: 263546
* NFC fix documentation build by rL263015Dmitry Polukhin2016-03-092-6/+12
| | | | | | This time I hope it will fix the build for real. llvm-svn: 263052
* ReleaseNotes: update 'you may prefer' link to 3.8Hans Wennborg2016-03-091-2/+2
| | | | llvm-svn: 263031
* Adding new AST matchers for: addrLabelExpr, atomicExpr, ↵Aaron Ballman2016-03-091-73/+243
| | | | | | | | binaryConditionalOperator, designatedInitExpr, designatorCountIs, hasSyntacticForm, implicitValueInitExpr, labelDecl, opaqueValueExpr, parenListExpr, predefinedExpr, requiresZeroInitialization, and stmtExpr. Patch by Aleksei Sidorin. llvm-svn: 263027
* NFC fix documentation build by rL263015Dmitry Polukhin2016-03-091-0/+1
| | | | llvm-svn: 263023
* [GCC] PR23529 Sema part of attrbute abi_tag supportDmitry Polukhin2016-03-091-0/+101
| | | | | | | | | | | | | | | | | Original patch by Stefan Bühler http://reviews.llvm.org/D12834 Difference between original and this one: - fixed all comments in original code review - added more tests, all new diagnostics now covered by tests - moved abi_tag on re-declaration checks to Sema::mergeDeclAttributes where they actually may work as designed - clang-format + other stylistic changes Mangle part will be sent for review as a separate patch. Differential Revision: http://reviews.llvm.org/D17567 llvm-svn: 263015
* [docs] Add missing fileAlexander Kornienko2016-03-031-0/+15
| | | | llvm-svn: 262604
* [docs] Updated doxygen files to work well with doxygen 1.8.11Alexander Kornienko2016-03-032-28/+1
| | | | | | Doxygen 1.8.11 doesn't seem to like files with ".intro" extension by default. llvm-svn: 262603
* Workaround doxygen bug https://bugzilla.gnome.org/show_bug.cgi?id=506243Alexander Kornienko2016-02-271-1/+1
| | | | llvm-svn: 262138
* Add __builtin_canonicalizeMatt Arsenault2016-02-271-0/+18
| | | | llvm-svn: 262122
* Add whole-program vtable optimization feature to Clang.Peter Collingbourne2016-02-241-0/+15
| | | | | | | | | This patch introduces the -fwhole-program-vtables flag, which enables the whole-program vtable optimization feature (D16795) in Clang. Differential Revision: http://reviews.llvm.org/D16821 llvm-svn: 261767
* [docs] Change non-c++ code blocks to 'text' format to fix a sphinx warning.Alexander Kornienko2016-02-241-5/+5
| | | | llvm-svn: 261744
* Fix a typo. NFCAlexander Kornienko2016-02-231-1/+1
| | | | llvm-svn: 261646
* Clean up clang-format options documentation. NFCAlexander Kornienko2016-02-231-37/+85
| | | | | | | Use uniform style for inline code blocks, specify language for YAML code blocks, various formatting fixes etc. llvm-svn: 261645
* Support language selection for \code blocks.Alexander Kornienko2016-02-231-3/+7
| | | | llvm-svn: 261644
* Update clang-format options docs.Alexander Kornienko2016-02-231-5/+26
| | | | llvm-svn: 261643
* Allow running dump_format_style.py from any directory.Alexander Kornienko2016-02-231-2/+4
| | | | llvm-svn: 261642
* [ASTMatchers] Add matcher hasAnyName.Samuel Benzaquen2016-02-222-0/+20
| | | | | | | | | | | | Summary: Add matcher hasAnyName as an optimization over anyOf(hasName(),...) Reviewers: alexfh Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D17163 llvm-svn: 261574
* Use an anonymous hyperlink reference to eliminate Sphinx warnings.Aaron Ballman2016-02-221-2/+2
| | | | llvm-svn: 261523
* Add an AST matcher for real floating-point types. e.g., float, double, long ↵Aaron Ballman2016-02-181-18/+40
| | | | | | double, but not complex. llvm-svn: 261221
* [analyzer] dump_ast_matchers.py: fix replacement regexpsYury Gribov2016-02-181-3/+3
| | | | | | | | Patch by Alex Sidorin! Differential Revision: http://reviews.llvm.org/D17376 llvm-svn: 261219
* [MSVC] Turn C++ EH on my defaultDavid Majnemer2016-02-181-6/+11
| | | | | | | | | Our support for C++ EH is sufficiently good that it makes sense to enable support for it out of the box. While we are here, update the MSVCCompatibility doc. llvm-svn: 261195
* [sanitizer-coverage] allow -fsanitize-coverage=trace-pc w/o any other ↵Kostya Serebryany2016-02-181-5/+6
| | | | | | sanitizer and w/o ...=[func,bb,edge]. This makes this syntax a superset of the GCC's syntax llvm-svn: 261182
* [sanitizer-coverage] implement -fsanitize-coverage=trace-pc. This is similar ↵Kostya Serebryany2016-02-171-0/+11
| | | | | | to trace-bb, but has a different API. We already use the equivalent flag in GCC for Linux kernel fuzzing. We may be able to use this flag with AFL too llvm-svn: 261159
* Add a nullPointerConstant() AST matcher to handle variations of null pointer ↵Aaron Ballman2016-02-161-0/+17
| | | | | | constants in one matcher. llvm-svn: 261008
* Fix some typos in the clang docSylvestre Ledru2016-02-144-5/+5
| | | | llvm-svn: 260856
* UsersManual: update clang-cl commandsHans Wennborg2016-02-121-5/+7
| | | | llvm-svn: 260637
* [sancov] improved object files handling.Mike Aizatsky2016-02-121-4/+5
| | | | | | | | Documentation change for: http://reviews.llvm.org/D17169 Differential Revision: http://reviews.llvm.org/D17175 llvm-svn: 260630
* Revert r260265, "clang-cl: Support loading plugins on Windows"NAKAMURA Takumi2016-02-111-4/+1
| | | | | | It causes memory exhaust on mingw-w64(x64). Investigating. llvm-svn: 260536
* Partial revert of rL260506.Andrey Bokhanko2016-02-111-0/+3
| | | | | | | | After some experiments I discovered that clang doesn't support static initialization of flexible array members in full, so restored this paragraph in "GCC extensions not implemented yet" list. llvm-svn: 260519
* Update of "GCC extensions not implemented yet" in Clang User's ManualAndrey Bokhanko2016-02-111-10/+0
| | | | | | | | | | #pragma weak, global register variables and static initialization of flexible array members are supported now, so they are removed from "GCC extensions not implemented yet" list. Differential Revision: http://reviews.llvm.org/D16851 llvm-svn: 260506
OpenPOWER on IntegriCloud