OSDN Git Service

PR c++/16190
authorgdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 22 Jan 2006 02:38:03 +0000 (02:38 +0000)
committergdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 22 Jan 2006 02:38:03 +0000 (02:38 +0000)
        * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@110085 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-opts.c
gcc/doc/invoke.texi

index 986d4d2..a179140 100644 (file)
@@ -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),
index f508e4e..5bc5f5d 100644 (file)
@@ -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);
index 1e5a216..0d0c521 100644 (file)
@@ -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