===================================================================
@@ -5765,21 +5765,27 @@ int foo (void) __attribute__(nocf_check)
void (*foo1)(void) __attribute__(nocf_check);
void (*foo2)(void);
+/* foo's address is assumed to be valid. */
int
-foo (void) /* The function's address is assumed to be valid. */
+foo (void)
- /* This call site is not checked for control-flow validity. */
+ /* This call site is not checked for control-flow
+ validity. */
(*foo1)();
- foo1 = foo2; /* A warning is printed about attribute mismatch. */
- /* This call site is still not checked for control-flow validity. */
+ /* A warning is issued about attribute mismatch. */
+ foo1 = foo2;
+
+ /* This call site is still not checked. */
(*foo1)();
- /* This call site is checked for control-flow validity. */
+ /* This call site is checked. */
(*foo2)();
- foo2 = foo1; /* A warning is printed about attribute mismatch. */
- /* This call site is still checked for control-flow validity. */
+ /* A warning is issued about attribute mismatch. */
+ foo2 = foo1;
+
+ /* This call site is still checked. */
(*foo2)();
return 0;
===================================================================
@@ -549,7 +549,7 @@ Objective-C and Objective-C++ Dialects}.
-fdisable-tree-@var{pass-name}=@var{range-list} @gol
-fdump-noaddr -fdump-unnumbered -fdump-unnumbered-links @gol
-fdump-class-hierarchy@r{[}-@var{n}@r{]} @gol
--fdump-final-insns@r{[}=@var{file}@r{]}
+-fdump-final-insns@r{[}=@var{file}@r{]} @gol
-fdump-ipa-all -fdump-ipa-cgraph -fdump-ipa-inline @gol
-fdump-lang-all @gol
-fdump-lang-@var{switch} @gol
@@ -2935,12 +2935,18 @@ Warn if the C++17 feature making @code{n
type changes the mangled name of a symbol relative to C++14. Enabled
by @option{-Wabi} and @option{-Wc++17-compat}.
+As an example:
+
@smallexample
template <class T> void f(T t) @{ t(); @};
void g() noexcept;
-void h() @{ f(g); @} // in C++14 calls f<void(*)()>, in C++17 calls f<void(*)()noexcept>
+void h() @{ f(g); @}
@end smallexample
+@noindent
+In C++14, @code{f} calls calls @code{f<void(*)()>}, but in
+C++17 it calls @code{f<void(*)()noexcept>}.
+
@item -Wclass-memaccess @r{(C++ and Objective-C++ only)}
@opindex Wclass-memaccess
Warn when the destination of a call to a raw memory function such as