From 2f8702ecaea61796c14770dfdfbe44d33c1d3a73 Mon Sep 17 00:00:00 2001 From: ktkachov Date: Mon, 24 Oct 2016 11:23:36 +0000 Subject: [PATCH] [check_GNU_style.sh] More aggressively ignore dg-xxx directives * check_GNU_style.sh (remove_testsuite): New function. Use it to remove testsuite from the diff. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241471 138bc75d-0d04-0410-961f-82ee72b054a4 --- contrib/ChangeLog | 5 +++++ contrib/check_GNU_style.sh | 18 ++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 0978df51dbf..1b6939ad030 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,8 @@ +2016-10-24 Kyrylo Tkachov + + * check_GNU_style.sh (remove_testsuite): New function. + Use it to remove testsuite from the diff. + 2016-09-23 Rainer Orth * dg-extract-results.sh: Revert bogus change. diff --git a/contrib/check_GNU_style.sh b/contrib/check_GNU_style.sh index 87a276c9cf4..fb7494661ee 100755 --- a/contrib/check_GNU_style.sh +++ b/contrib/check_GNU_style.sh @@ -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), \ -- 2.11.4.GIT