gcc: Add support for -Wmissing-prototypes in C++

Support for warnings about missing prototypes in C++ was added by Apple
GCC (Radar 6261539).  Most of the code crept into r260311 so it felt
natural to make use of it.

Obtained from:	Apple GCC - 5646
MFC after:	5 days
This commit is contained in:
Pedro F. Giffuni 2014-01-26 02:36:06 +00:00
parent 887bf737ad
commit 321c39ba84
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=261178
3 changed files with 13 additions and 3 deletions

View File

@ -280,9 +280,11 @@ Wmissing-include-dirs
C ObjC C++ ObjC++
Warn about user-specified include directories that do not exist
; APPLE LOCAL begin warn missing prototype 6261539
Wmissing-prototypes
C ObjC Var(warn_missing_prototypes)
C ObjC C++ ObjC++ Var(warn_missing_prototypes)
Warn about global functions without prototypes
; APPLE LOCAL end warn missing prototype 6261539
; APPLE LOCAL begin -Wmost
Wmost

View File

@ -11486,6 +11486,10 @@ start_function (cp_decl_specifier_seq *declspecs,
gcc_assert (same_type_p (TREE_TYPE (TREE_TYPE (decl1)),
integer_type_node));
/* APPLE LOCAL begin warn missing prototype 6261539 */
check_missing_prototype (decl1);
/* APPLE LOCAL end warn missing prototype 6261539 */
start_preparsed_function (decl1, attrs, /*flags=*/SF_DEFAULT);
return 1;

View File

@ -225,6 +225,8 @@ in the following sections.
-Wmain -Wmissing-braces -Wmissing-field-initializers @gol
-Wmissing-format-attribute -Wmissing-include-dirs @gol
-Wmissing-noreturn @gol
@c APPLE LOCAL warn missing prototype 6261539
-Wmissing-prototypes @gol
@c APPLE LOCAL -Wmost
-Wmost (APPLE ONLY) @gol
-Wno-multichar -Wnonnull -Wno-overflow @gol
@ -245,7 +247,8 @@ in the following sections.
@item C-only Warning Options
@gccoptlist{-Wbad-function-cast -Wmissing-declarations @gol
-Wmissing-prototypes -Wnested-externs -Wold-style-definition @gol
@c APPLE LOCAL warn missing prototype 6261539
-Wnested-externs -Wold-style-definition @gol
-Wstrict-prototypes -Wtraditional @gol
-Wdeclaration-after-statement -Wpointer-sign}
@ -3052,7 +3055,8 @@ types.)
Warn if an old-style function definition is used. A warning is given
even if there is a previous prototype.
@item -Wmissing-prototypes @r{(C only)}
@c APPLE LOCAL warn missing prototype 6261539
@item -Wmissing-prototypes
@opindex Wmissing-prototypes
Warn if a global function is defined without a previous prototype
declaration. This warning is issued even if the definition itself