summaryrefslogtreecommitdiffstats
path: root/bin/warnhist
diff options
context:
space:
mode:
authorDana Robinson <43805+derobins@users.noreply.github.com>2022-08-19 14:09:59 (GMT)
committerGitHub <noreply@github.com>2022-08-19 14:09:59 (GMT)
commit8cd97c4793baffc6ce2b5fe4862e742c6ebda5c2 (patch)
tree603ef74db4ffc63348d1728cec20133e5f6fbeb1 /bin/warnhist
parent9dfcca0bbbe21ee5ac0db618c19290caaeb8dbc1 (diff)
downloadhdf5-8cd97c4793baffc6ce2b5fe4862e742c6ebda5c2.zip
hdf5-8cd97c4793baffc6ce2b5fe4862e742c6ebda5c2.tar.gz
hdf5-8cd97c4793baffc6ce2b5fe4862e742c6ebda5c2.tar.bz2
Updates the warnist script to report gfortran generic warnings (#2040)
These are not associated with a file and line number, like specifying a non-existant include directory on the compile line.
Diffstat (limited to 'bin/warnhist')
-rwxr-xr-xbin/warnhist12
1 files changed, 12 insertions, 0 deletions
diff --git a/bin/warnhist b/bin/warnhist
index 9453b43..ff202a2 100755
--- a/bin/warnhist
+++ b/bin/warnhist
@@ -247,6 +247,18 @@ while (<>) {
} elsif($_ =~ /^\s*[Ww]arning:.*/) {
$name = $last_c_name;
($toss, $warning, $extra, $extra2) = split /\:/, $_;
+ # Check for file-scope gcc Fortran warning output
+ } elsif($_ =~ /f\d\d\d: Warning:/) {
+ # These are interspersed with the "compiling a file" output
+ # when compiling with `make -j` and thus difficult to tie to
+ # any particular file. They are due to things like inappropriate
+ # build options and don't have a line number.
+ #
+ # They start with f, as in f951
+ $name = "(generic)";
+ $line = int(rand(1000000)); # Hack to avoid counting as duplictates
+
+ ($warning) = $_ =~ /\[(.*)\]/x;
# Check for FORTRAN warning output
} elsif($_ =~ /^Warning:.*/) {
$name = $last_fort_name;