OSDN Git Service

gcc/
authorrwild <rwild@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 9 Mar 2008 17:43:10 +0000 (17:43 +0000)
committerrwild <rwild@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 9 Mar 2008 17:43:10 +0000 (17:43 +0000)
* c.opt (Wsynth): Deprecate.
* doc/invoke.texi (Option Summary, Warning Options): Document
-Wno-format-contains-nul.

gcc/fortran/

* invoke.texi (Error and Warning Options): Document
-Wline-truncation.

contrib/

* 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.

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

contrib/ChangeLog
contrib/check_warning_flags.sh
gcc/ChangeLog
gcc/c.opt
gcc/doc/invoke.texi
gcc/fortran/ChangeLog
gcc/fortran/invoke.texi

index 15656b9..3f897e8 100644 (file)
@@ -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.
index 95640f7..fcd0f37 100755 (executable)
@@ -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
index 8265c51..6490647 100644 (file)
@@ -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
index d3f81b0..dd9013e 100644 (file)
--- 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
index 411678c..304525d 100644 (file)
@@ -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
index 8356108..72bf512 100644 (file)
@@ -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
index 64e5070..2bac12c 100644 (file)
@@ -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