aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/ChangeLog7
-rwxr-xr-xcontrib/check_warning_flags.sh45
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/c.opt2
-rw-r--r--gcc/doc/invoke.texi8
-rw-r--r--gcc/fortran/ChangeLog5
-rw-r--r--gcc/fortran/invoke.texi5
7 files changed, 74 insertions, 4 deletions
diff --git a/contrib/ChangeLog b/contrib/ChangeLog
index 15656b99652..3f897e8e84a 100644
--- a/contrib/ChangeLog
+++ b/contrib/ChangeLog
@@ -1,3 +1,10 @@
+2008-03-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * check_warning_flags.sh: Instead of invoke.texi, take the path
+ to the doc directory as argument. Check that warnings listed in
+ 'gcc --help' are accepted by the compiler, and listed in the
+ manuals.
+
2008-03-06 Tom Tromey <tromey@redhat.com>
* patch_tester.sh (usage): Watermark is not lexicographic.
diff --git a/contrib/check_warning_flags.sh b/contrib/check_warning_flags.sh
index 95640f7758d..fcd0f37e105 100755
--- a/contrib/check_warning_flags.sh
+++ b/contrib/check_warning_flags.sh
@@ -18,7 +18,7 @@
progname=`echo "$0" | sed 's,.*/,,'`
usage ()
{
- echo "usage: $progname path/to/invoke.texi"
+ echo "usage: $progname path/to/gcc/doc"
echo "set \$CC to the compiler to be checked"
exit 1
}
@@ -28,7 +28,8 @@ LC_ALL=C
export LC_ALL
: ${CC=gcc}
test $# = 1 || usage
-invoke_texi=$1
+gcc_docdir=$1
+invoke_texi=$gcc_docdir/invoke.texi
test -r "$invoke_texi" || {
echo "$progname: error: cannot read '$invoke_texi'" >&2
usage
@@ -133,4 +134,44 @@ for lang in c c++ objc obj-c++; do
}
rm -f $file $filebase.o $filebase.obj $stderr
done
+
+
+remove_problematic_help_flags='
+ /^W$/d
+ /^W[alp]$/d
+ /^Werror-implicit-function-declaration$/d
+ /^Wsynth$/d
+ /-$/d
+ /=/d'
+help_flags=`
+ $CC --help -v 2>/dev/null | tr ' ' '\n' |
+ sed -n '
+ b a
+ :a
+ s/^-\(W[^<,]*\).*/\1/
+ t x
+ d
+ :x
+ '"$remove_problematic_help_flags"'
+ p' | sort -u`
+: >$filebase.c
+for flag in $help_flags; do
+ $CC -c $filebase.c -$flag 2>/dev/null || {
+ echo "warning -$flag not supported" >&2
+ ret=1
+ }
+ grep "@item.*$flag" $gcc_docdir/../*/*.texi >/dev/null || {
+ # For @item, we are satisfied with either -Wfoo or -Wno-foo.
+ inverted_flag=`echo "$flag" | sed '
+ s/^Wno-/W/
+ t
+ s/^W/Wno-/'`
+ grep "@item.*$inverted_flag" $gcc_docdir/../*/*.texi >/dev/null || {
+ echo "warning -$flag not documented in $gcc_docdir/../*/*.texi" >&2
+ ret=1
+ }
+ }
+done
+rm -f $filebase.c $filebase.o
+
exit $ret
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8265c51c2b4..6490647f478 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-03-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * c.opt (Wsynth): Deprecate.
+ * doc/invoke.texi (Option Summary, Warning Options): Document
+ -Wno-format-contains-nul.
+
2008-03-09 Uros Bizjak <ubizjak@gmail.com>
PR target/35496
diff --git a/gcc/c.opt b/gcc/c.opt
index d3f81b0e1c7..dd9013e1c37 100644
--- a/gcc/c.opt
+++ b/gcc/c.opt
@@ -423,7 +423,7 @@ Warn if type signatures of candidate methods do not match exactly
Wsynth
C++ ObjC++ Var(warn_synth) Warning
-Warn when synthesis behavior differs from Cfront
+Deprecated. This switch has no effect
Wsystem-headers
C ObjC C++ ObjC++ Warning
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 411678c7afa..304525dcccf 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -235,7 +235,7 @@ Objective-C and Objective-C++ Dialects}.
-Wempty-body -Wno-endif-labels @gol
-Werror -Werror=* @gol
-Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
--Wno-format-extra-args -Wformat-nonliteral @gol
+-Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
-Wformat-security -Wformat-y2k @gol
-Wframe-larger-than=@var{len} -Wignored-qualifiers @gol
-Wimplicit -Wimplicit-function-declaration -Wimplicit-int @gol
@@ -2811,6 +2811,12 @@ aspects of format checking, the options @option{-Wformat-y2k},
If @option{-Wformat} is specified, also warn about @code{strftime}
formats which may yield only a two-digit year.
+@item -Wno-format-contains-nul
+@opindex Wno-format-contains-nul
+@opindex Wformat-contains-nul
+If @option{-Wformat} is specified, do not warn about format strings that
+contain NUL bytes.
+
@item -Wno-format-extra-args
@opindex Wno-format-extra-args
@opindex Wformat-extra-args
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 83561087a3b..72bf5129c44 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * invoke.texi (Error and Warning Options): Document
+ -Wline-truncation.
+
2008-03-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR fortran/34956
diff --git a/gcc/fortran/invoke.texi b/gcc/fortran/invoke.texi
index 64e50701d54..2bac12c7962 100644
--- a/gcc/fortran/invoke.texi
+++ b/gcc/fortran/invoke.texi
@@ -456,6 +456,11 @@ that initiated the continuation.
@cindex warnings, character truncation
Warn when a character assignment will truncate the assigned string.
+@item -Wline-truncation
+@opindex @code{Wline-truncation}
+@cindex warnings, line truncation
+Warn when a source code line will be truncated.
+
@item -Wconversion
@opindex @code{Wconversion}
@cindex warnings, conversion