diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2017-05-08 17:13:11 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2017-05-08 17:13:11 +0000 |
| commit | 0a5fb09b599c1bdea3cd11168bb8f4ff4040316e (patch) | |
| tree | 5e94367d1a8032322c6871cfe16714c0982fd61a /docs | |
| parent | f0c0337bbfb63d1f9edf145aab535bdf82c20454 (diff) | |
Notes
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/LanguageExtensions.rst | 32 | ||||
| -rw-r--r-- | docs/LibASTMatchersReference.html | 17 | ||||
| -rw-r--r-- | docs/SanitizerCoverage.rst | 5 | ||||
| -rw-r--r-- | docs/ThreadSafetyAnalysis.rst | 2 |
4 files changed, 34 insertions, 22 deletions
diff --git a/docs/LanguageExtensions.rst b/docs/LanguageExtensions.rst index 187dae751be1..f8dd1a39c676 100644 --- a/docs/LanguageExtensions.rst +++ b/docs/LanguageExtensions.rst @@ -780,14 +780,14 @@ Use ``__has_feature(cxx_variadic_templates)`` or ``__has_extension(cxx_variadic_templates)`` to determine if support for variadic templates is enabled. -C++1y +C++14 ----- -The features listed below are part of the committee draft for the C++1y -standard. As a result, all these features are enabled with the ``-std=c++1y`` -or ``-std=gnu++1y`` option when compiling C++ code. +The features listed below are part of the C++14 standard. As a result, all +these features are enabled with the ``-std=C++14`` or ``-std=gnu++14`` option +when compiling C++ code. -C++1y binary literals +C++14 binary literals ^^^^^^^^^^^^^^^^^^^^^ Use ``__has_feature(cxx_binary_literals)`` or @@ -795,37 +795,37 @@ Use ``__has_feature(cxx_binary_literals)`` or binary literals (for instance, ``0b10010``) are recognized. Clang supports this feature as an extension in all language modes. -C++1y contextual conversions +C++14 contextual conversions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use ``__has_feature(cxx_contextual_conversions)`` or -``__has_extension(cxx_contextual_conversions)`` to determine if the C++1y rules +``__has_extension(cxx_contextual_conversions)`` to determine if the C++14 rules are used when performing an implicit conversion for an array bound in a *new-expression*, the operand of a *delete-expression*, an integral constant expression, or a condition in a ``switch`` statement. -C++1y decltype(auto) +C++14 decltype(auto) ^^^^^^^^^^^^^^^^^^^^ Use ``__has_feature(cxx_decltype_auto)`` or ``__has_extension(cxx_decltype_auto)`` to determine if support for the ``decltype(auto)`` placeholder type is enabled. -C++1y default initializers for aggregates +C++14 default initializers for aggregates ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use ``__has_feature(cxx_aggregate_nsdmi)`` or ``__has_extension(cxx_aggregate_nsdmi)`` to determine if support for default initializers in aggregate members is enabled. -C++1y digit separators +C++14 digit separators ^^^^^^^^^^^^^^^^^^^^^^ Use ``__cpp_digit_separators`` to determine if support for digit separators using single quotes (for instance, ``10'000``) is enabled. At this time, there is no corresponding ``__has_feature`` name -C++1y generalized lambda capture +C++14 generalized lambda capture ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use ``__has_feature(cxx_init_captures)`` or @@ -833,7 +833,7 @@ Use ``__has_feature(cxx_init_captures)`` or lambda captures with explicit initializers is enabled (for instance, ``[n(0)] { return ++n; }``). -C++1y generic lambdas +C++14 generic lambdas ^^^^^^^^^^^^^^^^^^^^^ Use ``__has_feature(cxx_generic_lambdas)`` or @@ -841,7 +841,7 @@ Use ``__has_feature(cxx_generic_lambdas)`` or (polymorphic) lambdas is enabled (for instance, ``[] (auto x) { return x + 1; }``). -C++1y relaxed constexpr +C++14 relaxed constexpr ^^^^^^^^^^^^^^^^^^^^^^^ Use ``__has_feature(cxx_relaxed_constexpr)`` or @@ -849,7 +849,7 @@ Use ``__has_feature(cxx_relaxed_constexpr)`` or declarations, local variable modification, and control flow constructs are permitted in ``constexpr`` functions. -C++1y return type deduction +C++14 return type deduction ^^^^^^^^^^^^^^^^^^^^^^^^^^^ Use ``__has_feature(cxx_return_type_deduction)`` or @@ -857,7 +857,7 @@ Use ``__has_feature(cxx_return_type_deduction)`` or for return type deduction for functions (using ``auto`` as a return type) is enabled. -C++1y runtime-sized arrays +C++14 runtime-sized arrays ^^^^^^^^^^^^^^^^^^^^^^^^^^ Use ``__has_feature(cxx_runtime_array)`` or @@ -866,7 +866,7 @@ for arrays of runtime bound (a restricted form of variable-length arrays) is enabled. Clang's implementation of this feature is incomplete. -C++1y variable templates +C++14 variable templates ^^^^^^^^^^^^^^^^^^^^^^^^ Use ``__has_feature(cxx_variable_templates)`` or diff --git a/docs/LibASTMatchersReference.html b/docs/LibASTMatchersReference.html index 736e1dfcabcf..c91b2a249029 100644 --- a/docs/LibASTMatchersReference.html +++ b/docs/LibASTMatchersReference.html @@ -924,6 +924,19 @@ in </pre></td></tr> +<tr><td>Matcher<<a href="http://clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>></td><td class="name" onclick="toggle('cxxStdInitializerListExpr0')"><a name="cxxStdInitializerListExpr0Anchor">cxxStdInitializerListExpr</a></td><td>Matcher<<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXStdInitializerListExpr.html">CXXStdInitializerListExpr</a>>...</td></tr> +<tr><td colspan="4" class="doc" id="cxxStdInitializerListExpr0"><pre>Matches C++ initializer list expressions. + +Given + std::vector<int> a({ 1, 2, 3 }); + std::vector<int> b = { 4, 5 }; + int c[] = { 6, 7 }; + std::pair<int, int> d = { 8, 9 }; +cxxStdInitializerListExpr() + matches "{ 1, 2, 3 }" and "{ 4, 5 }" +</pre></td></tr> + + <tr><td>Matcher<<a href="http://clang.llvm.org/doxygen/classclang_1_1Stmt.html">Stmt</a>></td><td class="name" onclick="toggle('cxxTemporaryObjectExpr0')"><a name="cxxTemporaryObjectExpr0Anchor">cxxTemporaryObjectExpr</a></td><td>Matcher<<a href="http://clang.llvm.org/doxygen/classclang_1_1CXXTemporaryObjectExpr.html">CXXTemporaryObjectExpr</a>>...</td></tr> <tr><td colspan="4" class="doc" id="cxxTemporaryObjectExpr0"><pre>Matches functional cast expressions having N != 1 arguments @@ -1160,7 +1173,7 @@ Example matches [&](){return 5;} <tr><td colspan="4" class="doc" id="materializeTemporaryExpr0"><pre>Matches nodes where temporaries are materialized. Example: Given - struct T {void func()}; + struct T {void func();}; T f(); void g(T); materializeTemporaryExpr() matches 'f()' in these statements @@ -5233,7 +5246,7 @@ Example matches y in x(y) <tr><td colspan="4" class="doc" id="hasReceiverType0"><pre>Matches on the receiver of an ObjectiveC Message expression. Example -matcher = objCMessageExpr(hasRecieverType(asString("UIWebView *"))); +matcher = objCMessageExpr(hasReceiverType(asString("UIWebView *"))); matches the [webView ...] message invocation. NSString *webViewJavaScript = ... UIWebView *webView = ... diff --git a/docs/SanitizerCoverage.rst b/docs/SanitizerCoverage.rst index 1c42b4236a93..06bafd6b3a04 100644 --- a/docs/SanitizerCoverage.rst +++ b/docs/SanitizerCoverage.rst @@ -144,8 +144,9 @@ Use these flags together with ``trace-pc-guard`` or ``trace-pc``, like this: ``-fsanitize-coverage=func,trace-pc-guard``. When ``edge`` or ``bb`` is used, some of the edges/blocks may still be left -uninstrumented if such instrumentation is considered redundant. -**TODO**: add a user-visible option to disable the optimization. +uninstrumented (pruned) if such instrumentation is considered redundant. +Use ``no-prune`` (e.g. ``-fsanitize-coverage=bb,no-prune,trace-pc-guard``) +to disable pruning. This could be useful for better coverage visualization. Edge coverage diff --git a/docs/ThreadSafetyAnalysis.rst b/docs/ThreadSafetyAnalysis.rst index 19ec2352ff2b..47cf4ef3994e 100644 --- a/docs/ThreadSafetyAnalysis.rst +++ b/docs/ThreadSafetyAnalysis.rst @@ -764,8 +764,6 @@ implementation. #define THREAD_ANNOTATION_ATTRIBUTE__(x) // no-op #endif - #define THREAD_ANNOTATION_ATTRIBUTE__(x) __attribute__((x)) - #define CAPABILITY(x) \ THREAD_ANNOTATION_ATTRIBUTE__(capability(x)) |
