[check_GNU_style.sh] More aggressively ignore dg-xxx directives
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Mon, 24 Oct 2016 11:23:36 +0000 (11:23 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Mon, 24 Oct 2016 11:23:36 +0000 (11:23 +0000)
* check_GNU_style.sh (remove_testsuite): New function.
Use it to remove testsuite from the diff.

From-SVN: r241471

contrib/ChangeLog
contrib/check_GNU_style.sh

index 0978df51dbf3b0bb85e06087c381994637f0afb9..1b6939ad030d3b50ab394553f25d8f0e4b97b740 100644 (file)
@@ -1,3 +1,8 @@
+2016-10-24  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * check_GNU_style.sh (remove_testsuite): New function.
+       Use it to remove testsuite from the diff.
+
 2016-09-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * dg-extract-results.sh: Revert bogus change.
index 87a276c9cf47b5e07c4407f740ce05dce1928c30..fb7494661ee8ff4d4e58ed05137bb69aab7c46a7 100755 (executable)
@@ -81,7 +81,17 @@ if [ $nfiles -eq 1 ]; then
 else
     format="-nH"
 fi
+
+# Remove the testsuite part of the diff.  We don't care about GNU style
+# in testcases and the dg-* directives give too many false positives.
+remove_testsuite ()
+{
+  awk 'BEGIN{testsuite=0} /^(.*:)?([1-9][0-9]*:)?\+\+\+ / && ! /testsuite\//{testsuite=0} \
+       {if (!testsuite) print} /^(.*:)?([1-9][0-9]*:)?\+\+\+ (.*\/)?testsuite\//{testsuite=1}'
+}
+
 grep $format '^+' $files \
+    | remove_testsuite \
     | grep -v ':+++' \
     > $inp
 
@@ -160,8 +170,9 @@ col (){
        fi
 
        # Don't reuse $inp, which may be generated using -H and thus contain a
-       # file prefix.
-       grep -n '^+' $f \
+       # file prefix.  Re-remove the testsuite since we're not using $inp.
+       cat $f | remove_testsuite \
+           | grep -n '^+' \
            | grep -v ':+++' \
            > $tmp
 
@@ -174,11 +185,10 @@ col (){
        # Expand tabs to spaces according to tab positions.
        # Keep long lines, make short lines empty.  Print the part past 80 chars
        # in red.
-        # Don't complain about dg-xxx directives in tests.
        cat "$tmp" \
            | sed 's/^[0-9]*:+//' \
            | expand \
-           | awk '$0 !~ /{[[:space:]]*dg-(error|warning|message)[[:space:]]/ { \
+           | awk '{ \
                     if (length($0) > 80) \
                       printf "%s\033[1;31m%s\033[0m\n", \
                              substr($0,1,80), \