summaryrefslogtreecommitdiffstats
path: root/clang/docs
Commit message (Collapse)AuthorAgeFilesLines
...
* Add missing atomic libcall support.James Y Knight2015-08-051-0/+3
| | | | | | | | | | Support for emitting libcalls for __atomic_fetch_nand and __atomic_{add,sub,and,or,xor,nand}_fetch was missing; add it, and some test cases. Differential Revision: http://reviews.llvm.org/D10847 llvm-svn: 244063
* Add AST matchers for narrowing constructors that are default, copy, or move ↵Aaron Ballman2015-08-051-0/+52
| | | | | | constructors, as well as functionality to determine whether a ctor initializer is a base initializer. llvm-svn: 244036
* Update mailing list references to lists.llvm.orgTanya Lattner2015-08-053-3/+3
| | | | llvm-svn: 244000
* Grammar: Don't imply that a program wouldn't want a person as its output.Douglas Katzman2015-08-031-2/+2
| | | | | | (Because, hey, who wouldn't?) llvm-svn: 243901
* [libFuzzer] minimal documentation on data-flow-guided fuzzingKostya Serebryany2015-07-311-0/+27
| | | | llvm-svn: 243793
* Add -femulated-tls flag to select the emulated TLS model.Chih-Hung Hsieh2015-07-281-0/+7
| | | | | | | | | This will be used for old targets like Android that do not support ELF TLS models. Differential Revision: http://reviews.llvm.org/D10524 llvm-svn: 243441
* Add an AST matcher, isFinal(), for testing whether a method or class ↵Aaron Ballman2015-07-241-0/+31
| | | | | | declaration are marked final. llvm-svn: 243107
* Updating the documentation for the hasAttr AST matcher, which behaves ↵Aaron Ballman2015-07-231-1/+2
| | | | | | somewhat differently when used within clang-query. Fixes PR24217. llvm-svn: 243029
* Something was unbalanced, and it wasn't the parentheses. ;-) Reverts r242915.Aaron Ballman2015-07-221-1/+1
| | | | llvm-svn: 242927
* Balancing parenthesis in comments and documentation; NFC.Aaron Ballman2015-07-221-1/+1
| | | | llvm-svn: 242915
* Doxygen: Enable autobrief feature, matching llvm config/coding standards.James Dennett2015-07-161-2/+2
| | | | | | | | | | | | Summary: This corresponds to the change made in r237417 - "Doxygen: Enable autobrief feature and update coding standards." Reviewers: eliben Subscribers: eliben, cfe-commits Differential Revision: http://reviews.llvm.org/D11281 llvm-svn: 242485
* Add the ability to AST match a variable declaration that is an exception ↵Aaron Ballman2015-07-151-3/+15
| | | | | | variable. llvm-svn: 242303
* CodeGen: Improve CFI type blacklisting mechanism.Peter Collingbourne2015-07-151-16/+36
| | | | | | | | | | We now use the sanitizer special case list to decide which types to blacklist. We also support a special blacklist entry for types with a uuid attribute, which are generally COM types whose virtual tables are defined externally. Differential Revision: http://reviews.llvm.org/D11096 llvm-svn: 242286
* docs/conf.py: update version to 3.8Hans Wennborg2015-07-141-2/+2
| | | | llvm-svn: 242240
* ReleaseNotes.rst: Bump version to 3.8Hans Wennborg2015-07-141-21/+7
| | | | | | The notes for 3.7 are on the 3.7 branch. llvm-svn: 242238
* Update documentation for unroll pragmas on loops with runtime trip counts.Mark Heffernan2015-07-131-5/+5
| | | | | | | | This change updates the documentation for the loop unrolling pragma behavior change in r242047. Specifically, with that change "#pragma unroll" will not unroll loops with a runtime trip count. llvm-svn: 242048
* clang-format: Add Mozilla brace breaking styleBirunthan Mohanathas2015-07-121-0/+3
| | | | | | Differential Revision: http://reviews.llvm.org/D10883 llvm-svn: 241986
* Add GCC-compatible flags -fprofile-generate and -fprofile-use.Diego Novillo2015-07-091-0/+39
| | | | | | | | | | | | | | | | | | This patch adds support for specifying where the profile is emitted in a way similar to GCC. These flags are used to specify directories instead of filenames. When -fprofile-generate=DIR is used, the compiler will generate code to write to <DIR>/default.profraw. The patch also adds a couple of extensions: LLVM_PROFILE_FILE can still be used to override the directory and file name to use and -fprofile-use accepts both directories and filenames. To simplify the set of flags used in the backend, all the flags get canonicalized to -fprofile-instr-{generate,use} when passed to the backend. The decision to use a default name for the profile is done in the driver. llvm-svn: 241825
* Update PCHInternals.rst to document PCH wrapped in object file containers.Adrian Prantl2015-07-081-8/+18
| | | | llvm-svn: 241690
* Grammar bug. NFCDouglas Katzman2015-07-061-1/+1
| | | | llvm-svn: 241451
* clang-format: Add MacroBlock{Begin,End} optionsBirunthan Mohanathas2015-07-031-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MacroBlockBegin and MacroBlockEnd options make matching macro identifiers behave like '{' and '}', respectively, in terms of indentation. Mozilla code, for example, uses several macros that begin and end a scope. Previously, Clang-Format removed the indentation resulting in: MACRO_BEGIN(...) MACRO_ENTRY(...) MACRO_ENTRY(...) MACRO_END Now, using the options MacroBlockBegin: "^[A-Z_]+_BEGIN$" MacroBlockEnd: "^[A-Z_]+_END$" will yield the expected result: MACRO_BEGIN(...) MACRO_ENTRY(...) MACRO_ENTRY(...) MACRO_END Differential Revision: http://reviews.llvm.org/D10840 llvm-svn: 241363
* Driver: Replace a couple of out of date terms in the docsJustin Bogner2015-07-031-3/+3
| | | | | | | | The Job base class was removed in r241310, so replace a couple of references to it with Command. Also change another use of Job with Action, since that's the term used in the source. llvm-svn: 241327
* Implement an AST matcher for C++ exception catch handlers that can catch any ↵Aaron Ballman2015-07-021-0/+10
| | | | | | exception type (...). llvm-svn: 241256
* Sphinx-based clang man pagesAndrew Wilkins2015-06-309-992/+540
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This diff introduces .rst files, Sphinx config, and a CMake target for building clang man pages. This will deprecate the existing .pod- based man page, and will integrate nicely with CMake. This diff does not remove the existing man page; that will be done in a follow-up once packagers have had a chance to react to the change. For now, only clang(1) has been done; others can be added over time by dropping additional files into the docs/CommandGuide directory. The index page for CommandGuide has been copied from LLVM's docs/CommandGuide. The man page itself is mostly the same, with a few minor cosmetic changes. The only major change is the SYNOPSIS section. I was unable to get .rst/Sphinx produce the same style as in the existing man page. Instead, I changed it to match the LLVM tools' relatively simple style. To build the man pages, use the "docs-clang-man" target if building with CMake. Otherwise, use "make -f Makefile.sphinx man". Reviewers: cmatthews, silvas Subscribers: dim, gaeke, beanz, cfe-commits Differential Revision: http://reviews.llvm.org/D10562 llvm-svn: 241037
* clang-format: Add option to break after definition return type for top-level ↵Birunthan Mohanathas2015-06-291-5/+12
| | | | | | | | functions only Differential Revision: http://reviews.llvm.org/D10774 llvm-svn: 240959
* Fix typo. NFC.Alex Denisov2015-06-271-2/+2
| | | | llvm-svn: 240888
* clang-format: Fix language of DisableFormat descriptionBirunthan Mohanathas2015-06-271-1/+1
| | | | | | This is a comment-only change to test commit access. llvm-svn: 240879
* [ObjC] Add NSValue support for objc_boxed_expressionsAlex Denisov2015-06-261-2/+60
| | | | | | | | | | | | | Patch extends ObjCBoxedExpr to accept records (structs and unions): typedef struct __attribute__((objc_boxable)) _Color { int r, g, b; } Color; Color color; NSValue *boxedColor = @(color); // [NSValue valueWithBytes:&color objCType:@encode(Color)]; llvm-svn: 240761
* [docs] Several updates to the Address Sanitizer webpage.Anna Zaks2015-06-252-46/+103
| | | | | | | | | | | | | | | | | - Added the description of the interceptor suppression. - Re-organized a bit: grouped a few things under the Issue Suppression section, grouped IOC and leaks under a section, placed symbolication info into Symbolizing the Reports section.. - In supported platforms: "MacOS" -> "OS X"; added "iOS Simulator" - Added a paragraph to the Usage section describing when DYLD_INSERT_LIBRARIES might need to be used. - "attribute((no_sanitize_address))" -> "__attribute__((no_sanitize("address")))" - Updated Leak Sanitizer page with most up to date info. .... http://reviews.llvm.org/D10559 llvm-svn: 240725
* docs: Fix bad link in SafeStack.rst.Peter Collingbourne2015-06-251-1/+1
| | | | llvm-svn: 240696
* Silencing some Sphinx warnings about duplicate explicit target names.Aaron Ballman2015-06-241-3/+3
| | | | llvm-svn: 240536
* SafeStack documentation improvementsPeter Collingbourne2015-06-231-46/+70
| | | | | | | | | | | | | | | | | This patch makes the following improvements to the SafeStack documentation: Explicitly states the security guarantees of the SafeStack Clarifies which of the security guarantees are probabilistic Re-orders security limitations to put the most severe ones first Explains how `__attribute__((no_sanitize("safe-stack")))` works and how to use it safely Explains that SafeStack should be combined with a forward-edge protection mechanism, such as CPI, IFCC or others Multiple readability and stylistic improvements Patch by Volodymyr Kuznetsov! Differential Revision: http://reviews.llvm.org/D10598 llvm-svn: 240472
* Adding a title to appease the sphinx build bot.Aaron Ballman2015-06-231-0/+4
| | | | llvm-svn: 240430
* AttributeReference.rst is automatically generated by a server-side process ↵Aaron Ballman2015-06-231-1699/+5
| | | | | | currently. To cut down on accidental commits to this file that are not properly reflected in AttrDocs.td (such as r215806 - r215808), this file now contains nothing but a comment explaining the current state of affairs. llvm-svn: 240428
* Document the nullability attributes.Douglas Gregor2015-06-221-105/+692
| | | | llvm-svn: 240296
* [CFI] Require -flto instead of implying it.Alexey Samsonov2015-06-192-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This is unfortunate, but would let us land http://reviews.llvm.org/D10467, that makes ToolChains responsible for computing the set of sanitizers they support. Unfortunately, Darwin ToolChains doesn't know about actual OS they target until ToolChain::TranslateArgs() is called. In particular, it means we won't be able to construct SanitizerArgs for these ToolChains before that. This change removes SanitizerArgs::needsLTO() method, so that now ToolChain::IsUsingLTO(), which is called very early, doesn't need SanitizerArgs to implement this method. Docs and test cases are updated accordingly. See https://llvm.org/bugs/show_bug.cgi?id=23539, which describes why we start all these. Test Plan: regression test suite Reviewers: pcc Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10560 llvm-svn: 240170
* Fix "the the" in comments/documentation/etc.Eric Christopher2015-06-191-1/+1
| | | | llvm-svn: 240110
* Implement diagnostic mode for -fsanitize=cfi*, -fsanitize=cfi-diag.Peter Collingbourne2015-06-191-4/+6
| | | | | | | | | | | | | | | | | This causes programs compiled with this flag to print a diagnostic when a control flow integrity check fails instead of aborting. Diagnostics are printed using UBSan's runtime library. The main motivation of this feature over -fsanitize=vptr is fidelity with the -fsanitize=cfi implementation: the diagnostics are printed under exactly the same conditions as those which would cause -fsanitize=cfi to abort the program. This means that the same restrictions apply regarding compiling all translation units with -fsanitize=cfi, cross-DSO virtual calls are forbidden, etc. Differential Revision: http://reviews.llvm.org/D10268 llvm-svn: 240109
* Introduce -fsanitize-trap= flag.Peter Collingbourne2015-06-181-15/+31
| | | | | | | | | | | | | | | | | | | | | | | | This flag controls whether a given sanitizer traps upon detecting an error. It currently only supports UBSan. The existing flag -fsanitize-undefined-trap-on-error has been made an alias of -fsanitize-trap=undefined. This change also cleans up some awkward behavior around the combination of -fsanitize-trap=undefined and -fsanitize=undefined. Previously we would reject command lines containing the combination of these two flags, as -fsanitize=vptr is not compatible with trapping. This required the creation of -fsanitize=undefined-trap, which excluded -fsanitize=vptr (and -fsanitize=function, but this seems like an oversight). Now, -fsanitize=undefined is an alias for -fsanitize=undefined-trap, and if -fsanitize-trap=undefined is specified, we treat -fsanitize=vptr as an "unsupported" flag, which means that we error out if the flag is specified explicitly, but implicitly disable it if the flag was implied by -fsanitize=undefined. Differential Revision: http://reviews.llvm.org/D10464 llvm-svn: 240105
* clang-format: Make AlwaysBreakBeforeMultilineStrings more conservative.Daniel Jasper2015-06-181-0/+5
| | | | | | | | | | | | | | | | | In essence this is meant to consistently indent multiline strings by a fixed amount of spaces from the start of the line. Don't do this in cases where it wouldn't help anyway. Before: someFunction(aaaaa, "aaaaa" "bbbbb"); After: someFunction(aaaaa, "aaaaa" "bbbbb"); llvm-svn: 240004
* [modules] Rename -fmodule-maps to -fimplicit-module-maps (and likewise forRichard Smith2015-06-161-3/+3
| | | | | | -fno-module-maps). The old names are preserved for compatibility. llvm-svn: 239792
* [modules] Remove non-functional driver options -f[no-]modules-implicit-maps.Richard Smith2015-06-151-4/+1
| | | | | | | These driver options never did anything (they weren't forwarded to the frontend). Also update the documentation to not mention them. llvm-svn: 239787
* Protection against stack-based memory corruption errors using SafeStack: ↵Peter Collingbourne2015-06-154-0/+169
| | | | | | | | | | | | | | | | | | | | | | | | | Clang command line option and function attribute This patch adds the -fsanitize=safe-stack command line argument for clang, which enables the Safe Stack protection (see http://reviews.llvm.org/D6094 for the detailed description of the Safe Stack). This patch is our implementation of the safe stack on top of Clang. The patches make the following changes: - Add -fsanitize=safe-stack and -fno-sanitize=safe-stack options to clang to control safe stack usage (the safe stack is disabled by default). - Add __attribute__((no_sanitize("safe-stack"))) attribute to clang that can be used to disable the safe stack for individual functions even when enabled globally. Original patch by Volodymyr Kuznetsov and others at the Dependable Systems Lab at EPFL; updates and upstreaming by myself. Differential Revision: http://reviews.llvm.org/D6095 llvm-svn: 239762
* docs: grammar adjustments in clang manpageSaleem Abdulrasool2015-06-131-7/+7
| | | | | | | | Fix a few typos and run-on sentences in the clang POD documentation. Patch by Brian R. Gaeke! llvm-svn: 239652
* clang-format: Make SFS_Inline imply SFS_Empty.Daniel Jasper2015-06-111-18/+15
| | | | | | | | | | In the long run, these two might be independent or we might to only allow specific combinations. Until we have a corresponding request, however, it is hard to do the right thing and choose the right configuration options. Thus, just don't touch the options yet and just modify the behavior slightly. llvm-svn: 239531
* Fix typo in cross-compilation docs: "-fpu" -> "-mfpu"Vladimir Sukharev2015-06-031-1/+1
| | | | | | | | | | Reviewers: rengolin Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D10209 llvm-svn: 238912
* Fix typo in tutorial.Douglas Katzman2015-06-021-1/+1
| | | | llvm-svn: 238885
* Correct DriverInternals.rst: ccc-print-options is gone.Douglas Katzman2015-06-021-2/+2
| | | | | | Was removed in svn r189802. llvm-svn: 238876
* Improve user documentation on profiling.Diego Novillo2015-05-281-14/+57
| | | | | | | | This clarifies the relationship between instrumentation and sampling based PGO, code coverage analysis and the different formats supported by sample profiling. llvm-svn: 238504
* Fixing an RST issue to silence a sphinx warning.Aaron Ballman2015-05-261-4/+3
| | | | llvm-svn: 238241
OpenPOWER on IntegriCloud