aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/c-opts.c7
-rw-r--r--gcc/doc/invoke.texi4
3 files changed, 16 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 986d4d2..a179140 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,11 @@
+2006-01-21 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/16190
+ * c-opts.c (c_common_handle_option): Don't include
+ -Wnon-virtual-dtor in -Wall; enable if -Weffc++.
+ * doc/invoke.texi (C++ Dialect Options): Document that
+ -Wnon-virtual-dtor is no longer included in -Wall.
+
2006-01-21 Joseph S. Myers <joseph@codesourcery.com>
* gcov.c (print_version), gcov-dump.c (print_version),
diff --git a/gcc/c-opts.c b/gcc/c-opts.c
index f508e4e..5bc5f5d 100644
--- a/gcc/c-opts.c
+++ b/gcc/c-opts.c
@@ -409,7 +409,6 @@ c_common_handle_option (size_t scode, const char *arg, int value)
else
{
/* C++-specific warnings. */
- warn_nonvdtor = value;
warn_reorder = value;
warn_nontemplate_friend = value;
}
@@ -539,6 +538,12 @@ c_common_handle_option (size_t scode, const char *arg, int value)
warn_write_strings = value;
break;
+ case OPT_Weffc__:
+ warn_ecpp = value;
+ if (value)
+ warn_nonvdtor = true;
+ break;
+
case OPT_ansi:
if (!c_dialect_cxx ())
set_std_c89 (false, true);
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 1e5a216..0d0c521 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -1736,8 +1736,8 @@ public static member functions.
@item -Wnon-virtual-dtor @r{(C++ only)}
@opindex Wnon-virtual-dtor
Warn when a class appears to be polymorphic, thereby requiring a virtual
-destructor, yet it declares a non-virtual one.
-This warning is enabled by @option{-Wall}.
+destructor, yet it declares a non-virtual one. This warning is also
+enabled if -Weffc++ is specified.
@item -Wreorder @r{(C++ only)}
@opindex Wreorder