Hi,

exactly like the recently fixed c++/17212. Tested x86_64-linux.

Ok for mainline?

Thanks,
Paolo.

/////////////////////////
/gcc
2011-10-17  Paolo Carlini  <paolo.carl...@oracle.com>

        PR c++/50757
        * c-family/c.opt ([Wnonnull]): Add C++ and Objective-C++.
        * doc/invoke.texi: Update.

/testsuite
2011-10-17  Paolo Carlini  <paolo.carl...@oracle.com>

        PR c++/50757
        * g++.dg/warn/format7.C: New.
        * obj-c++.dg/warn7.mm: Likewise.
Index: doc/invoke.texi
===================================================================
--- doc/invoke.texi     (revision 180100)
+++ doc/invoke.texi     (working copy)
@@ -3223,7 +3222,7 @@ Enable @option{-Wformat} plus format checks not in
 @option{-Wformat}.  Currently equivalent to @samp{-Wformat
 -Wformat-nonliteral -Wformat-security -Wformat-y2k}.
 
-@item -Wnonnull @r{(C and Objective-C only)}
+@item -Wnonnull
 @opindex Wnonnull
 @opindex Wno-nonnull
 Warn about passing a null pointer for arguments marked as
Index: c-family/c.opt
===================================================================
--- c-family/c.opt      (revision 180100)
+++ c-family/c.opt      (working copy)
@@ -510,7 +510,7 @@ C++ ObjC++ Var(warn_nonvdtor) Warning
 Warn about non-virtual destructors
 
 Wnonnull
-C ObjC Var(warn_nonnull) Warning
+C ObjC C++ ObjC++ Var(warn_nonnull) Warning
 Warn about NULL being passed to argument slots marked as requiring non-NULL
 
 Wnormalized=
Index: testsuite/g++.dg/warn/format7.C
===================================================================
--- testsuite/g++.dg/warn/format7.C     (revision 0)
+++ testsuite/g++.dg/warn/format7.C     (revision 0)
@@ -0,0 +1,10 @@
+// PR c++/50757
+// { dg-options "-Wformat -Wno-nonnull" }
+
+extern void *f (void *__s) __attribute__ ((__nonnull__ (1)));
+
+int main()
+{
+  void* const s = 0;
+  f(s);
+}
Index: testsuite/obj-c++.dg/warn7.mm
===================================================================
--- testsuite/obj-c++.dg/warn7.mm       (revision 0)
+++ testsuite/obj-c++.dg/warn7.mm       (revision 0)
@@ -0,0 +1,10 @@
+// PR c++/50757
+// { dg-options "-Wformat -Wno-nonnull" }
+
+extern void *f (void *__s) __attribute__ ((__nonnull__ (1)));
+
+int main()
+{
+  void* const s = 0;
+  f(s);
+}

Reply via email to