aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2023-05-02 15:48:40 -0400
committerMarek Polacek <polacek@redhat.com>2023-05-02 15:48:40 -0400
commit6b927b1297e66e26e62e722bf15c921dcbbd25b9 (patch)
tree17715344912ee4ba0eb9fef11877fd18207fd5a0 /gcc
parent867024b8905a824c1b59a0b6b4175e6da4040c65 (diff)
downloadgcc-6b927b1297e66e26e62e722bf15c921dcbbd25b9.zip
gcc-6b927b1297e66e26e62e722bf15c921dcbbd25b9.tar.gz
gcc-6b927b1297e66e26e62e722bf15c921dcbbd25b9.tar.bz2
c++: Move -Wdangling-reference to -Wextra [PR109642]
Sadly, -Wdangling-reference generates false positives for std::span-like user classes, and it seems imprudent to attempt to improve the heuristic in GCC 13. Let's move the warning to -Wextra, that will hopefully reduce the number of false positives the users have been seeing with 13. I'm leaving the warning in -Wall in 14 where I think I can write code to detect std::span-like classes. PR c++/109642 PR c++/109640 PR c++/109671 gcc/c-family/ChangeLog: * c.opt (Wdangling-reference): Move from -Wall to -Wextra. gcc/ChangeLog: * doc/invoke.texi: Document that -Wdangling-reference is enabled by -Wextra.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/c-family/c.opt2
-rw-r--r--gcc/doc/invoke.texi3
2 files changed, 3 insertions, 2 deletions
diff --git a/gcc/c-family/c.opt b/gcc/c-family/c.opt
index 3333cdd..a750389 100644
--- a/gcc/c-family/c.opt
+++ b/gcc/c-family/c.opt
@@ -560,7 +560,7 @@ C ObjC C++ ObjC++ Joined RejectNegative UInteger Var(warn_dangling_pointer) Warn
Warn for uses of pointers to auto variables whose lifetime has ended.
Wdangling-reference
-C++ ObjC++ Var(warn_dangling_reference) Warning LangEnabledBy(C++ ObjC++, Wall)
+C++ ObjC++ Var(warn_dangling_reference) Warning LangEnabledBy(C++ ObjC++, Wextra)
Warn when a reference is bound to a temporary whose lifetime has ended.
Wdate-time
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index a38547f..36ed159 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -3781,7 +3781,7 @@ where @code{std::minmax} returns @code{std::pair<const int&, const int&>}, and
both references dangle after the end of the full expression that contains
the call to @code{std::minmax}.
-This warning is enabled by @option{-Wall}.
+This warning is enabled by @option{-Wextra}.
@opindex Wdelete-non-virtual-dtor
@opindex Wno-delete-non-virtual-dtor
@@ -6126,6 +6126,7 @@ name is still supported, but the newer name is more descriptive.)
@gccoptlist{-Wclobbered
-Wcast-function-type
+-Wdangling-reference @r{(C++ only)}
-Wdeprecated-copy @r{(C++ only)}
-Wempty-body
-Wenum-conversion @r{(C only)}