re PR c++/50134 (-Wmissing-prototypes doesn't work for C++)
authorManuel López-Ibáñez <manu@gcc.gnu.org>
Fri, 1 Jun 2012 08:47:06 +0000 (08:47 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Fri, 1 Jun 2012 08:47:06 +0000 (09:47 +0100)
2012-06-01  Manuel López-Ibáñez  <manu@gcc.gnu.org>
            Jonathan Wakely  <jwakely.gcc@gmail.com>

PR c++/50134
* doc/invoke.texi (Warning Options): Explain purpose and differences
between -Wmissing-prototypes and -Wmissing-declarations.

Co-Authored-By: Jonathan Wakely <jwakely.gcc@gmail.com>
From-SVN: r188103

gcc/ChangeLog
gcc/doc/invoke.texi

index 25bf994c2c9ab22d0c3009169109f5dfc3a60af9..1b9b7a72a3857a150f4f2a582bff890633e3b464 100644 (file)
@@ -1,3 +1,10 @@
+2012-06-01  Manuel López-Ibáñez  <manu@gcc.gnu.org>
+            Jonathan Wakely  <jwakely.gcc@gmail.com>
+
+       PR c++/50134
+       * doc/invoke.texi (Warning Options): Explain purpose and differences
+       between -Wmissing-prototypes and -Wmissing-declarations.
+
 2012-06-01  Christian Bruel  <christian.bruel@st.com>
 
        * gcc.c (save_switch): Add user_p parameter.
index 3ad07f35eda941292ae5b78375bf6b79e8b1e114..eb582b32e82965f39b2a3fadac2be8d10961c8b0 100644 (file)
@@ -4416,8 +4416,12 @@ This warning is also enabled by @option{-Wextra}.
 @opindex Wno-missing-prototypes
 Warn if a global function is defined without a previous prototype
 declaration.  This warning is issued even if the definition itself
-provides a prototype.  The aim is to detect global functions that 
-are not declared in header files.
+provides a prototype.  Use this option to detect global functions
+that do not have a matching prototype declaration in a header file.
+This option is not valid for C++ because all function declarations
+provide prototypes and a non-matching declaration will declare an
+overload rather than conflict with an earlier declaration.
+Use @option{-Wmissing-declarations} to detect missing declarations in C++.
 
 @item -Wmissing-declarations
 @opindex Wmissing-declarations
@@ -4425,7 +4429,9 @@ are not declared in header files.
 Warn if a global function is defined without a previous declaration.
 Do so even if the definition itself provides a prototype.
 Use this option to detect global functions that are not declared in
-header files.  In C++, no warnings are issued for function templates,
+header files.  In C, no warnings are issued for functions with previous
+non-prototype declarations; use @option{-Wmissing-prototype} to detect
+missing prototypes.  In C++, no warnings are issued for function templates,
 or for inline functions, or for functions in anonymous namespaces.
 
 @item -Wmissing-field-initializers