summaryrefslogtreecommitdiffstats
path: root/clang/docs
Commit message (Collapse)AuthorAgeFilesLines
* docs: remove double carriage-returnSaleem Abdulrasool2014-11-021-2/+2
| | | | | | | The double carriage return would silence a warning due to a missing .clang-format. Permit the error to bubble through. llvm-svn: 221107
* clang-format: Update generated documentation with new flag.Daniel Jasper2014-10-281-0/+3
| | | | llvm-svn: 220786
* clang-format: improve vim integration docsSaleem Abdulrasool2014-10-271-2/+2
| | | | | | | | | | Improve the documentation for vim integration of clang-format. Prefer the use of <c-o> to do the normal mode command execution to avoid side-effects of the escape and re-insertion (cursor movement). Tweak the macros to use a double return to avoid having to manually return control to the editor from the subprocess. llvm-svn: 220685
* [modules] Support combining 'textual' with 'private'.Richard Smith2014-10-241-6/+5
| | | | llvm-svn: 220589
* Update the documentation for API change to CreateASTConsumer the rest of the ↵Nick Lewycky2014-10-221-5/+8
| | | | | | way. llvm-svn: 220450
* [modules] Add support for 'textual header' directives.Richard Smith2014-10-221-5/+14
| | | | | | | | This allows a module to specify that it logically contains a file, but that said file is non-modular and intended for textual inclusion. This allows layering checks to work properly in the presence of such files. llvm-svn: 220448
* Add missing qualifier to documentation.Nick Lewycky2014-10-211-1/+1
| | | | llvm-svn: 220268
* Update documentation to match API change in r215323.Nick Lewycky2014-10-211-1/+1
| | | | llvm-svn: 220267
* Switch C compilations to C11 by default.Richard Smith2014-10-201-4/+12
| | | | | | | | This is long-since overdue, and matches GCC 5.0. This should also be backwards-compatible, because we already supported all of C11 as an extension in C99 mode. llvm-svn: 220244
* [modules] Add support for #include_next.Richard Smith2014-10-201-0/+13
| | | | | | | | | | | | #include_next interacts poorly with modules: it depends on where in the list of include paths the current file was found. Files covered by module maps are not found in include search paths when building the module (and are not found in include search paths when @importing the module either), so this isn't really meaningful. Instead, we fake up the result that #include_next *should* have given: find the first path that would have resulted in the given file being picked, and search from there onwards. llvm-svn: 220177
* [ASan] Improve blacklisting of global variables.Alexey Samsonov2014-10-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the way we blacklist global variables in ASan. Now the global is excluded from instrumentation (either regular bounds checking, or initialization-order checking) if: 1) Global is explicitly blacklisted by its mangled name. This part is left unchanged. 2) SourceLocation of a global is in blacklisted source file. This changes the old behavior, where instead of looking at the SourceLocation of a variable we simply considered llvm::Module identifier. This was wrong, as identifier may not correspond to the file name, and we incorrectly disabled instrumentation for globals coming from #include'd files. 3) Global is blacklisted by type. Now we build the type of a global variable using Clang machinery (QualType::getAsString()), instead of llvm::StructType::getName(). After this commit, the active users of ASan blacklist files may have to revisit them (this is a backwards-incompatible change). llvm-svn: 220097
* Fix documentation typo.JF Bastien2014-10-101-1/+1
| | | | llvm-svn: 219509
* Implement various matchers around template argument handling.Manuel Klimek2014-10-091-0/+103
| | | | llvm-svn: 219408
* Escaping a special character in the documentation.Aaron Ballman2014-10-091-1/+1
| | | | llvm-svn: 219407
* clang-format: Add option to control call argument bin-packing separatelyDaniel Jasper2014-10-091-3/+9
| | | | | | | This is desirable for the Chromium style guide: http://www.chromium.org/developers/coding-style llvm-svn: 219400
* clang-format: Add documentation about disabling formatting.Daniel Jasper2014-10-071-0/+18
| | | | | | Patch by Marek Kurdej, thanks! llvm-svn: 219204
* Update title of the ReleaseNodes doc.Eli Bendersky2014-10-061-1/+1
| | | | | | It was still "3.5 (In-Progress)" - should be 3.6 llvm-svn: 219153
* [sphinx clean up] Fix warning introduced by r218957Dan Liew2014-10-031-1/+1
| | | | llvm-svn: 218983
* Add an implementation of C11's stdatomic.hHal Finkel2014-10-031-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | Adds a Clang-specific implementation of C11's stdatomic.h header. On systems, such as FreeBSD, where a stdatomic.h header is already provided, we defer to that header instead (using our __has_include_next technology). Otherwise, we provide an implementation in terms of our __c11_atomic_* intrinsics (that were created for this purpose). C11 7.1.4p1 requires function declarations for atomic_thread_fence, atomic_signal_fence, atomic_flag_test_and_set, atomic_flag_test_and_set_explicit, and atomic_flag_clear, and requires that they have external linkage. Accordingly, we provide these declarations, but if a user elides the shadowing macros and uses them, then they must have a libc (or similar) that actually provides definitions. atomic_flag is implemented using _Bool as the underlying type. This is consistent with the implementation provided by FreeBSD and also GCC 4.9 (at least when __GCC_ATOMIC_TEST_AND_SET_TRUEVAL == 1). Patch by Richard Smith (rebased and slightly edited by me -- Richard said I should drive at this point). llvm-svn: 218957
* Enable both C and C++ modules with -fmodules, by switching -fcxx-modules toRichard Smith2014-09-301-13/+8
| | | | | | | | | | | | | | | | | being on by default. -fno-cxx-modules can still be used to enable C modules but not C++ modules, but C++ modules is not significantly less stable than C modules any more. Also remove some of the scare words from the modules documentation. We're certainly not going to remove modules support (though we might change the interface), and it works well enough to bootstrap and build lots of non-trivial code. Note that this does not represent a commitment to the current interface nor implementation, and we still intend to follow whatever direction the C and C++ committees take regarding modules support. llvm-svn: 218717
* Update modules documentation now that C++ support is working pretty well.Richard Smith2014-09-291-6/+3
| | | | llvm-svn: 218614
* testing commit access to clang repoJyoti Allur2014-09-291-1/+0
| | | | llvm-svn: 218592
* Thread Safety Analysis: Update to documentation.DeLesley Hutchins2014-09-241-265/+394
| | | | | | | | | | The attribute documentation now conforms to Aaron Ballman's renaming of the thread safety attributes, as well as the new paper that is due to be published in the conference on Source Code Analysis and Manipulation (SCAM 2014) later this week. In addition, recent changes to the analysis, such as checking of references and negative capabilities, are now documented. llvm-svn: 218420
* Change -Wbind-to-temporary-copy from an ExtWarn to an Extension.Nico Weber2014-09-181-1/+1
| | | | | | | | | | | | | | | | | The reasoning is that this construct is accepted by all compilers and valid in C++11, so it doesn't seem like a useful warning to have enabled by default. Building with -pedantic, -Wbind-to-temporary-copy, or -Wc++98-compat still shows the warning. The motivation is that I built re2, and this was the only warning that was emitted during the build. Both changing re2 to fix the warning and detecting clang and suppressing the warning in re2's build seem inferior than just giving the compiler a good default for this warning. Also move the cxx98compat version of this warning to CXX98CompatPedantic, and update tests accordingly. llvm-svn: 218008
* [sphinx cleanup]Dan Liew2014-09-161-1/+1
| | | | | | Fix warning introduced by r211098. llvm-svn: 217864
* clang-format: Add option to break before non-assignment operators.Daniel Jasper2014-09-151-3/+13
| | | | | | | | | This will allow: int aaaaaaaaaaaaaa = bbbbbbbbbbbbbb + ccccccccccccccc; llvm-svn: 217757
* [sphinx cleanup]Dan Liew2014-09-101-1/+1
| | | | | | Fix sphinx warning introduced by r217501. llvm-svn: 217524
* clang-format: Add option to allow short case labels on a single line.Daniel Jasper2014-09-101-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | On a single line: switch (a) { case 1: x = 1; return; case 2: x = 2; return; default: break; } Not on a single line: switch (a) { case 1: x = 1; return; case 2: x = 2; return; default: break; } This partly addresses llvm.org/PR16535. In the long run, we probably want to lay these out in columns. llvm-svn: 217501
* Implement nonnull-attribute sanitizerAlexey Samsonov2014-09-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch implements a new UBSan check, which verifies that function arguments declared to be nonnull with __attribute__((nonnull)) are actually nonnull in runtime. To implement this check, we pass FunctionDecl to CodeGenFunction::EmitCallArgs (where applicable) and if function declaration has nonnull attribute specified for a certain formal parameter, we compare the corresponding RValue to null as soon as it's calculated. Test Plan: regression test suite Reviewers: rsmith Reviewed By: rsmith Subscribers: cfe-commits, rnk Differential Revision: http://reviews.llvm.org/D5082 llvm-svn: 217389
* Add __builtin_assume and __builtin_assume_aligned using @llvm.assume.Hal Finkel2014-09-071-2/+39
| | | | | | | | | | | This makes use of the recently-added @llvm.assume intrinsic to implement a __builtin_assume(bool) intrinsic (to provide additional information to the optimizer). This hooks up __assume in MS-compatibility mode to mirror __builtin_assume (the semantics have been intentionally kept compatible), and implements GCC's __builtin_assume_aligned as assume((p - o) & mask == 0). LLVM now contains special logic to deal with assumptions of this form. llvm-svn: 217349
* Add matcher for linkage specificationManuel Klimek2014-09-041-0/+10
| | | | | | Patch by Jacques Pienaar. llvm-svn: 217135
* Enhance the 'Vectors and Extended Vectors' section.Anton Yartsev2014-09-031-17/+23
| | | | | | Added cast operations to the table of vector operations. Supported status 'no' means that there are no tests in the Clang test suite for the given cast. llvm-svn: 217055
* clang-format: Add an option 'SpaceAfterCStyleCast'.Daniel Jasper2014-09-031-0/+3
| | | | | | | | | | | | | | | | | This permits to add a space after closing parenthesis of a C-style cast. Defaults to false to preserve old behavior. Fixes llvm.org/PR19982. Before: (int)i; After: (int) i; Patch by Marek Kurdej. llvm-svn: 217022
* Fixing a typo in the documented __builtin_convertvector example.Yunzhong Gao2014-09-021-1/+1
| | | | | | "vf[0]" ==> "vs[0]" llvm-svn: 216935
* unique_ptrify the result of CFG::buildCFG/CFGBuilder::buildCFGDavid Blaikie2014-08-291-4/+1
| | | | llvm-svn: 216755
* clang-format: New option SpacesInSquareBrackets.Daniel Jasper2014-08-261-0/+4
| | | | | | | | | | | | | | | | Before: int a[5]; a[3] += 42; After: int a[ 5 ]; a[ 3 ] += 42; Fixes LLVM bug #17887 (http://llvm.org/bugs/show_bug.cgi?id=17887). Patch by Marek Kurdej, thank you! llvm-svn: 216449
* Add hasAttr matcher for declarations.Manuel Klimek2014-08-251-21/+4
| | | | | | | | Delete special-case CUDA attribute matchers. Patch by Jacques Pienaar. llvm-svn: 216379
* Clear the clang release notes to make room for 3.6.Rafael Espindola2014-08-221-80/+11
| | | | llvm-svn: 216293
* Clarify.Nick Lewycky2014-08-161-2/+2
| | | | llvm-svn: 215808
* Try indenting to put all the text inside the block.Nick Lewycky2014-08-161-3/+3
| | | | llvm-svn: 215807
* Document what's experimental about __attribute__((enable_if)). PR20392Nick Lewycky2014-08-161-0/+5
| | | | llvm-svn: 215806
* Add isDeleted() matcher for FunctionDecl nodes.Samuel Benzaquen2014-08-151-1/+12
| | | | | | | | | | Reviewers: klimek Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D4911 llvm-svn: 215714
* [UBSan] Add returns-nonnull sanitizer.Alexey Samsonov2014-08-131-0/+2
| | | | | | | | | | | | | | | | | | | | Summary: This patch adds a runtime check verifying that functions annotated with "returns_nonnull" attribute do in fact return nonnull pointers. It is based on suggestion by Jakub Jelinek: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140623/223693.html. Test Plan: regression test suite Reviewers: rsmith Reviewed By: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4849 llvm-svn: 215485
* Add documentation on how Language option in .clang-format files work.Alexander Kornienko2014-08-121-0/+37
| | | | llvm-svn: 215443
* Fix sphinx warning.Dan Liew2014-08-061-1/+1
| | | | llvm-svn: 214967
* Introduce f[no-]max-unknown-pointer-align=[number] optionFariborz Jahanian2014-08-051-0/+31
| | | | | | | | | to instruct the code generator to not enforce a higher alignment than the given number (of bytes) when accessing memory via an opaque pointer or reference. Patch reviewed by John McCall (with post-commit review pending). rdar://16254558 llvm-svn: 214911
* ReleaseNotes: try to fix linksHans Wennborg2014-08-051-3/+3
| | | | llvm-svn: 214883
* ReleaseNotes: mention basic debug info and ASan support in the Windows blurbHans Wennborg2014-08-051-2/+3
| | | | llvm-svn: 214882
* clang-format: Add option to always break after a function's return type.Daniel Jasper2014-08-051-2/+9
| | | | | | | | | | This is required for GNU coding style, among others. Also update the configuration documentation. Modified from an original patch by Jarkko Hietaniemi, thank you! llvm-svn: 214858
* Adds AST matchers for matching CUDA declarations.Manuel Klimek2014-08-051-34/+78
| | | | | | Patch by Jacques Pienaar. llvm-svn: 214852
OpenPOWER on IntegriCloud