summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorDana Robinson <derobins@hdfgroup.org>2021-03-25 08:16:59 (GMT)
committerDana Robinson <derobins@hdfgroup.org>2021-03-25 08:16:59 (GMT)
commitc0c978e62798a4336f3b368deba164b6d81fdcfd (patch)
tree91e9a6c57e29cb72b8e4a732eaa0b240b5ea21f1 /bin
parent2cf9bed55281db81dda891435535d34b4f8bbec3 (diff)
downloadhdf5-c0c978e62798a4336f3b368deba164b6d81fdcfd.zip
hdf5-c0c978e62798a4336f3b368deba164b6d81fdcfd.tar.gz
hdf5-c0c978e62798a4336f3b368deba164b6d81fdcfd.tar.bz2
Normalization of the bin scripts (with develop)
Diffstat (limited to 'bin')
-rwxr-xr-xbin/checkposix91
-rwxr-xr-xbin/errors2
-rwxr-xr-xbin/genparser36
-rwxr-xr-xbin/h5vers2
-rwxr-xr-xbin/make_err4
-rwxr-xr-xbin/make_overflow4
-rwxr-xr-xbin/make_vers4
7 files changed, 120 insertions, 23 deletions
diff --git a/bin/checkposix b/bin/checkposix
index 57efa78..36d07a8 100755
--- a/bin/checkposix
+++ b/bin/checkposix
@@ -44,7 +44,27 @@ foreach $arg (@ARGV) {
#
# If a user specifies one file, process it no matter what so people
# can inspect files we normally skip (like H5system.c).
+
+ $ignore = 0;
+
+ # Ignored files in src/
if($#ARGV gt 0 and $filename =~ /H5FDmulti|H5FDstdio|H5VLpassthru|H5system|H5detect|H5make_libsettings/) {
+ $ignore = 1;
+ }
+ # Ignored atomic test files in test/
+ if($#ARGV gt 0 and $filename =~ /atomic_reader|atomic_writer/) {
+ $ignore = 1;
+ }
+ # Ignored filter plugins in test/
+ if($#ARGV gt 0 and $filename =~ /^filter_plugin\d_/) {
+ $ignore = 1;
+ }
+ # Ignored generators in test/
+ if($#ARGV gt 0 and $filename =~ /^gen_/) {
+ $ignore = 1;
+ }
+
+ if($ignore) {
print "$filename is exempt from using Standard library macro wrappers\n";
next;
}
@@ -95,13 +115,13 @@ foreach $arg (@ARGV) {
# These are really HDF5 functions/macros even though they don't
# start with `h' or `H'.
- next if $name =~ /^FUNC_(ENTER|LEAVE)(_(NO)?API|_PACKAGE|_STATIC)?(_NOFS|_NOCLEAR|_NOINIT)?(_NOFUNC|_TAG)?$/;
+ next if $name =~ /^FUNC_(ENTER|LEAVE)(_(NO)?API|_PACKAGE|_STATIC)?(_NOFS|_NOCLEAR|_NOINIT|_NOPUSH)?(_NOFUNC|_TAG)?$/;
next if $name =~ /^(BEGIN|END)_FUNC$/;
next if $name =~ /^U?INT(8|16|32|64)(ENCODE|DECODE)(_VAR)?$/;
next if $name =~ /^CI_(PRINT_STATS|INC_SRC|INC_DST)$/;
next if $name =~ /^(ABS|ADDR_OVERFLOW|ALL_MEMBERS|BOUND|CONSTR|DETECT_[I|F|M]|DOWN)$/;
next if $name =~ /^(MIN3?|MAX3?|NELMTS|POWER_OF_TWO|REGION_OVERFLOW)$/;
- next if $name =~ /^(UNIQUE_MEMBERS|S_ISDIR)$/;
+ next if $name =~ /^(SIZE_OVERFLOW|UNIQUE_MEMBERS|S_ISDIR)$/;
next if $name =~ /^addr_defined$/;
# These functions/macros are exempt.
@@ -140,15 +160,38 @@ foreach $arg (@ARGV) {
next if $name =~ /^(pow_fun|round_fun|abs_fun|lround_fun|llround_fun)$/;
}
+ # This is a macro parameter in H5Rint.c. Ignore it in this file.
+ if($filename =~ /H5Rint/) {
+ next if $name =~ /^(func)$/;
+ }
+
+ # Internal calls in the HDFS VFD (H5FDhdfs.c). Ignore it in this file.
+ if($filename =~ /H5FDhdfs/) {
+ next if $name =~ /^(hdfs)/;
+ }
+
+ # Macros, etc. from the mirror VFD (H5FDmirror.c). Ignore in this file.
+ if($filename =~ /H5FDmirror/) {
+ next if $name =~ /^(LOG)/;
+ next if $name =~ /^(BSWAP_64|is_host_little_endian)$/;
+ }
+
+ # These are things in H5FDs3comms.c and H5FDros3.c. Ignore them in these files.
+ if($filename =~ /H5FDs3comms|H5FDros3/) {
+ next if $name =~ /^(curl_|curlwritecallback|gmnow)/;
+ next if $name =~ /^(ros3_|ROS3_|S3COMMS_)/;
+ next if $name =~ /^(EVP_sha256|SHA256|ISO8601NOW)$/;
+ }
+
# TESTING (not comprehensive - just noise reduction)
# Test macros and functions (testhdf5.h)
next if $name =~ /^(AddTest|TestErrPrintf|TestSummary|TestCleanup|TestShutdown)$/;
next if $name =~ /^(CHECK|CHECK_PTR|CHECK_PTR_NULL|CHECK_PTR_EQ|CHECK_I)$/;
- next if $name =~ /^(VERIFY|VERIFY_STR|VERIFY|TYPE|MESSAGE|ERROR)$/;
+ next if $name =~ /^(VERIFY|VERIFY_STR|VERIFY_TYPE|MESSAGE|ERROR)$/;
# Test macros and functions (h5test.h)
- next if $name =~ /^(TESTING|PASSED|SKIPPED|FAIL_PUTS_ERROR|FAIL_STACK_ERROR|TEST_ERROR)$/;
+ next if $name =~ /^(TESTING|PASSED|SKIPPED|PUTS_ERROR|FAIL_PUTS_ERROR|FAIL_STACK_ERROR|TEST_ERROR|AT)$/;
next if $name =~ /^(GetTestExpress)$/;
# Ignore functions that start with test_ or check_
@@ -158,9 +201,49 @@ foreach $arg (@ARGV) {
# Ignore functions that start with h5_
next if $name =~ /^h5_/;
+ # Ignore process completed status
+ next if $name =~ /(WIFEXITED|WEXITSTATUS|WIFSIGNALED|WTERMSIG|WCOREDUMP|WIFSTOPPED|WSTOPSIG)/;
+
# Ignore usage functions
next if $name =~ /^usage$/;
+ # Ignore callbacks
+ next if $name =~ /(_cb\d?)$/;
+
+ # Specific tests (not even remotely comprehensive)
+
+ # accum test code
+ if($filename =~ /accum/) {
+ next if $name =~ /^(accum_)/;
+ }
+
+ # cache test code
+ if($filename =~ /cache/) {
+ next if $name =~ /(_entry|_entries|_cache|_check|_dependency|_status|_op)$/;
+ next if $name =~ /^(verify_|smoke_check_|row_major_|col_major_)/;
+ next if $name =~ /^(resize_configs_are_equal|CACHE_ERROR)$/
+ }
+
+ # Splitter VFD test code. Ignore in vfd.c.
+ if($filename =~ /vfd/) {
+ next if $name =~ /^(SPLITTER_|splitter_)/;
+ next if $name =~ /(_splitter_)/;
+ next if $name =~ /^(file_exists)$/;
+ }
+
+ # S3 VFD test code. Ignore in ros3.c and s3comms.c.
+ # HDFS VFD test code. Ignore in hdfs.c.
+ if($filename =~ /ros3|s3comms|hdfs/) {
+ next if $name =~ /^(JSVERIFY|JSFAILED_|JSERR_|jserr_|FAIL_)/;
+ next if $name =~ /^(curl_)/;
+ next if $name =~ /^(S3COMMS_FORMAT_CREDENTIAL|ISO8601NOW|gmnow)$/;
+ }
+
+ # VDS test code. Ignore in vds.c.
+ if($filename =~ /vds/) {
+ next if $name =~ /^(vds_)/;
+ }
+
print "$filename:$.: $name\n";
}
diff --git a/bin/errors b/bin/errors
index a7bb5b1..5d23cf1 100755
--- a/bin/errors
+++ b/bin/errors
@@ -17,7 +17,7 @@ use Text::Tabs;
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
-# Robb Matzke, matzke@llnl.gov
+# Robb Matzke
# 30 Aug 1997
#
# Purpose: This script will read standard input which should be a
diff --git a/bin/genparser b/bin/genparser
index e8b2c27..462c2c2 100755
--- a/bin/genparser
+++ b/bin/genparser
@@ -1,10 +1,10 @@
#! /bin/bash
#
-# Copyright by The HDF Group.
-# All rights reserved.
-#
-# This file is part of HDF5. The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
+# Copyright by The HDF Group.
+# All rights reserved.
+#
+# This file is part of HDF5. The full HDF5 copyright notice, including
+# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://www.hdfgroup.org/licenses.
# If you do not have access to either file, you may request a copy from
@@ -200,28 +200,34 @@ if [ "$verbose" = true ] ; then
fi
${HDF5_FLEX} --nounistd -PH5LTyy -o ${path_to_hl_src}/H5LTanalyze.c ${path_to_hl_src}/H5LTanalyze.l
-# fix H5LTparse.c to declare H5LTyyparse return type as an hid_t
-# instead of int. Currently the generated function H5LTyyparse is
+# fix H5LTparse.c and H5LTlparse.h to declare H5LTyyparse return type as an
+# hid_t instead of int. Currently the generated function H5LTyyparse is
# generated with a return value of type int, which is a mapping to the
# flex yyparse function. The return value in the HL library should be
-# an hid_t.
-# I propose to not use flex to generate this function, but for now I am
+# an hid_t.
+# I propose to not use flex to generate this function, but for now I am
# adding a perl command to find and replace this function declaration in
# H5LTparse.c.
perl -0777 -pi -e 's/int yyparse/hid_t yyparse/igs' ${path_to_hl_src}/H5LTparse.c
perl -0777 -pi -e 's/int\nyyparse/hid_t\nyyparse/igs' ${path_to_hl_src}/H5LTparse.c
perl -0777 -pi -e 's/int H5LTyyparse/hid_t H5LTyyparse/igs' ${path_to_hl_src}/H5LTparse.c
+perl -0777 -pi -e 's/int yyparse/hid_t yyparse/igs' ${path_to_hl_src}/H5LTparse.h
+perl -0777 -pi -e 's/int\nyyparse/hid_t\nyyparse/igs' ${path_to_hl_src}/H5LTparse.h
+perl -0777 -pi -e 's/int H5LTyyparse/hid_t H5LTyyparse/igs' ${path_to_hl_src}/H5LTparse.h
# Add code that disables warnings in the flex/bison-generated code.
#
# Note that the GCC pragmas did not exist until gcc 4.2. Earlier versions
# will simply ignore them, but we want to avoid those warnings.
+#
+# Note also that although clang defines __GNUC__, it doesn't support every
+# warning that GCC does.
for f in ${path_to_hl_src}/H5LTparse.c ${path_to_hl_src}/H5LTanalyze.c
do
- echo '#if defined __GNUC__ && 402 <= __GNUC__ * 100 + __GNUC_MINOR__ ' >> tmp.out
+ echo '#if defined (__GNUC__) ' >> tmp.out
+ echo '#if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 402 ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wconversion" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wimplicit-function-declaration" ' >> tmp.out
- echo '#pragma GCC diagnostic ignored "-Wlarger-than=" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wmissing-prototypes" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wnested-externs" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wold-style-definition" ' >> tmp.out
@@ -230,11 +236,19 @@ do
echo '#pragma GCC diagnostic ignored "-Wsign-conversion" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wstrict-overflow" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wstrict-prototypes" ' >> tmp.out
+ echo '#if !defined (__clang__) ' >> tmp.out
+ echo '#pragma GCC diagnostic ignored "-Wlarger-than=" ' >> tmp.out
+ echo '#pragma GCC diagnostic ignored "-Wsuggest-attribute=const" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wsuggest-attribute=pure" ' >> tmp.out
+ echo '#endif ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wswitch-default" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wunused-function" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wunused-macros" ' >> tmp.out
echo '#pragma GCC diagnostic ignored "-Wunused-parameter" ' >> tmp.out
+ echo '#endif ' >> tmp.out
+ echo '#if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 600 ' >> tmp.out
+ echo '#pragma GCC diagnostic ignored "-Wnull-dereference" ' >> tmp.out
+ echo '#endif ' >> tmp.out
echo '#elif defined __SUNPRO_CC ' >> tmp.out
echo '#pragma disable_warn ' >> tmp.out
echo '#elif defined _MSC_VER ' >> tmp.out
diff --git a/bin/h5vers b/bin/h5vers
index 3171221..8f75df1 100755
--- a/bin/h5vers
+++ b/bin/h5vers
@@ -17,7 +17,7 @@ use strict;
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.
#
-# Robb Matzke <matzke@llnl.gov>
+# Robb Matzke
# 17 July 1998
### Purpose
diff --git a/bin/make_err b/bin/make_err
index 68a32f4..f2b044a 100755
--- a/bin/make_err
+++ b/bin/make_err
@@ -64,8 +64,8 @@ sub print_startprotect ($$) {
$file =~ s/(\w*)\.h/$1/;
# Print the ifdef info
- print $fh "\n#ifndef _${file}_H\n";
- print $fh "#define _${file}_H\n";
+ print $fh "\n#ifndef ${file}_H\n";
+ print $fh "#define ${file}_H\n";
}
##############################################################################
diff --git a/bin/make_overflow b/bin/make_overflow
index d1d16ee..37d6ded 100755
--- a/bin/make_overflow
+++ b/bin/make_overflow
@@ -93,8 +93,8 @@ sub print_startprotect ($$) {
$file =~ s/(\w*)\.h/$1/;
# Print the ifdef info
- print $fh "\n#ifndef _${file}_H\n";
- print $fh "#define _${file}_H\n";
+ print $fh "\n#ifndef ${file}_H\n";
+ print $fh "#define ${file}_H\n";
}
##############################################################################
diff --git a/bin/make_vers b/bin/make_vers
index 2c4a9c8..3631d3c 100755
--- a/bin/make_vers
+++ b/bin/make_vers
@@ -78,8 +78,8 @@ sub print_startprotect ($$) {
$file =~ s/(\w*)\.h/$1/;
# Print the ifdef info
- print $fh "\n#ifndef _${file}_H\n";
- print $fh "#define _${file}_H\n";
+ print $fh "\n#ifndef ${file}_H\n";
+ print $fh "#define ${file}_H\n";
}
##############################################################################