gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, long-double, updated. cd119adb52dac187fc


From: John Haque
Subject: [gawk-diffs] [SCM] gawk branch, long-double, updated. cd119adb52dac187fcbc7b225fb0ded8d8e5a293
Date: Sun, 10 Feb 2013 04:08:28 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, long-double has been updated
       via  cd119adb52dac187fcbc7b225fb0ded8d8e5a293 (commit)
      from  3a4e6e9c74d0ba859b56ba066850dbba3b15eb22 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=cd119adb52dac187fcbc7b225fb0ded8d8e5a293

commit cd119adb52dac187fcbc7b225fb0ded8d8e5a293
Author: John Haque <address@hidden>
Date:   Sat Feb 9 22:03:30 2013 -0600

    Add README.LONG_DOUBLE, made other changes for `make check' to use long 
double.

diff --git a/ChangeLog b/ChangeLog
index 4caad77..d271e22 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-02-09         John Haque      <address@hidden>
+
+       * main.c (main): Added GAWK_FLOAT env. variable.
+       * long_double.c: Remove all use of math functions for C-double as the 
fallback.
+       Use ours in misc/gawk_math.c instead.
+
 2013-01-27         John Haque      <address@hidden>
 
        * long_double.c (GAWK_FORMAT_INT): New define.
diff --git a/README.LONG_DOUBLE b/README.LONG_DOUBLE
new file mode 100644
index 0000000..880a1b1
--- /dev/null
+++ b/README.LONG_DOUBLE
@@ -0,0 +1,241 @@
+Compiling and running the tests in `test' directory
+===================================================
+
+$ ./configure
+$ grep USE_LONG_DOUBLE config.h
+#define USE_LONG_DOUBLE 1
+
+Usable long double found!
+
+$ make
+
+A single invocation of `make check' will run the test suite
+using long double first, and then double:
+
+$ make check
+ ...
+ ...
+double tests: ALL TESTS PASSED
+long double tests: ALL TESTS PASSED
+
+The Makefile etc. used for the long double tests are in the
+misc/ldbl_tests directory. The _foo files for any failed tests
+using long double numbers will also be in that directory.
+Currently, `make diffout' does not work for the long double tests.
+
+There are no additional tests for long doubles (yet).
+
+Running scripts
+===============
+
+1) Using command line option:
+$ ./gawk -B -f xx.awk
+$ ./gawk -B '...'
+
+2) Using environment variable GAWK_FLOAT.
+
+$ export GAWK_FLOAT=LDBL
+
+All scripts can then use long double for numbers without
+needing the -B option:
+
+$ ./gawk -f xx.awk
+$ ./gawk '...'
+
+unset GAWK_FLOAT to use the C-double type.
+
+
+Informational
+=============
+
+[1] Requirements for usable long double type (see m4/long_double.m4):
+
+     USE_LONG_DOUBLE = false
+     if have_long_double
+          if LDBL_MANT_DIG > DBL_MANT_DIG
+                  && LDBL_MAX_EXP >= DBL_MAX_EXP
+                  && LDBL_MIN_EXP <= DBL_MIN_EXP
+               USE_LONG_DOUBLE = true
+          end if
+     end if
+
+     if USE_LONG_DOUBLE = true
+          * check for %Lf support in printf; if not present format
+           integers ourself, and use %f for floats.
+          * check for strtold; if not found, use strtod.
+          * if not found ANY of cosl, sinl, atan2l, logl, expl, powl, sqrtl,
+            use our math functions, and NOT the double versions in libm.
+          * check for fmodl seperately; if not found, use our's and NOT fmod.
+          * check for floorl and ceill; if not found, use our integer
+            formatting code to provide equivalent functionalities.
+     end if
+
+In addition to providing a precision more than that for a double, we
+require support for the four basic math operators +, -, * and /
+for the range of floats acceptable for gawk. This minimum requirement
+may or may not be met by some double-double implementations like the
+ones found in various versions of AIX.
+
+[2] Failed tests or unexpected results can be either due to bugs in
+gawk code or somewhere else. Bug(s) in glibc 2.11.1 causes the test
+ofmta.awk to fail:
+
+$ ./gawk -B -vOFMT=%.3f 'BEGIN { x=1.2345; print x }'
+1.235
+
+The expected result is 1.234.
+
+---------------------------------------------------------------------
+From: "Nelson H. F. Beebe"
+
+You commented on this autoconf fragment:
+
+  AC_REQUIRE([AC_TYPE_LONG_DOUBLE])
+  if test $ac_cv_type_long_double = yes; then
+    AC_CACHE_CHECK([whether long double and double are the same],
+     [gl_cv_long_double_equals_double],
+     [AC_COMPILE_IFELSE(
+       [AC_LANG_PROGRAM([[#include <float.h>]],
+         [[typedef int check[sizeof (long double) == sizeof (double)
+                           && LDBL_MANT_DIG == DBL_MANT_DIG
+                           && LDBL_MAX_EXP == DBL_MAX_EXP
+                           && LDBL_MIN_EXP == DBL_MIN_EXP
+                              ? 1 : -1];
+         ]])],
+       [gl_cv_long_double_equals_double=yes],
+       [gl_cv_long_double_equals_double=no])
+     ])
+
+...
+
+Indeed, the code is gcc-dependent, but it is on the right track.  The
+problem is that, while long double has been widely implemented on many
+systems for a long time (even pre-1990), on others it is badly
+botched.  Apple gets a failing grade for NEVER EVER having provided a
+Fortran compiler on Mac OS (now almost 30 years old), and for never
+providing long double support, even on processors like x86 that have
+had it in hardware since 1980.  The BSD people are also guilty; none
+of {Free,Mir,Net,Open}BSD have ever provided long double, and worse,
+some of them have the long double parameters in their header files,
+like <float.h>, but the compilers don't support the data type.
+
+The autoconf code could be rewritten to use a run-time, rather than
+compile-timne, test, reporting whether any of the four equalities fail
+to hold. 
+
+Here is what I wrote in hoc's configure.in script (feel free to
+re-use, and revise as needed for your gawk work; no credits or
+licenses are necessary):
+
+dnl Old: (checks that long double recognized by compiler, even if synonym for 
double)
+dnl AC_CHECK_TYPES(long double)
+dnl New and improved: (checks that long double has greater range and precision)
+dnl The autoconf-2.59 (and earlier) AC_C_LONG_DOUBLE produces a
+dnl nonstandard C program that fails to compile on most systems: bug
+dnl reported on [02-Jun-2004].  Redefine it with my proposed replacement:
+
+AC_DEFUN([AC_C_LONG_DOUBLE],
+       [AC_CACHE_CHECK(for usable long double,
+               ac_cv_c_long_double,
+               [AC_RUN_IFELSE(
+[
+#include <stdio.h>
+#include <float.h>
+
+int
+main()
+{
+#if defined(__NetBSD__)
+       return (1);     /* hack for NetBSD, which has compiler support, but no 
long double library support */
+#endif
+    return (!((DBL_MAX < LDBL_MAX) &&
+             (DBL_MAX > 0.5 * DBL_MAX) &&
+             (LDBL_MAX > 0.5L * LDBL_MAX) &&
+             (LDBL_EPSILON < DBL_EPSILON) &&
+             (LDBL_MIN < DBL_MIN) &&
+             (DBL_MIN > 0.0) &&
+             (LDBL_MIN > 0.0L) &&
+             (DBL_MAX_EXP < LDBL_MAX_EXP) &&
+             (DBL_MANT_DIG < LDBL_MANT_DIG)));
+}
+],
+               ac_cv_c_long_double=yes,
+               ac_cv_c_long_double=no,
+               ac_cv_c_long_double=no)])
+       if test ${ac_cv_c_long_double} = yes
+       then
+               AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if the `long double' 
type works.])
+       fi
+       ]) # end AC_C_LONG_DOUBLE
+
+AC_C_LONG_DOUBLE
+
+if test -n "$HAVE_FP_T_QUADRUPLE"
+then
+       if test ${ac_cv_c_long_double} = "no"
+       then
+               AC_MSG_WARN(**************************************************)
+               AC_MSG_WARN(reverting to --with-double on this system       **)
+               AC_MSG_WARN(because long double is a synonym for double, or **)
+               AC_MSG_WARN(is unsupported by the selected compiler         **)
+               AC_MSG_WARN(**************************************************)
+               AC_DEFINE(HAVE_FP_T_DOUBLE)
+               HAVE_FP_T_DOUBLE=1
+               unset HAVE_FP_T_QUADRUPLE
+               HOCSUFFIX=64
+               TESTFP=test64
+       else
+               case "`uname -m || true`" in
+               i386 | i486 | i586 | i686 | i86pc | ia64 | x86_64)
+                       AC_DEFINE(HAVE_FP_T_QUADRUPLE)
+                       HAVE_FP_T_QUADRUPLE=1
+                       HOCSUFFIX=80
+                       TESTFP=test80
+                       ;;
+               ppc | ppc64 )
+                       
AC_MSG_WARN(**************************************************)
+                       AC_MSG_WARN(reverting to --with-double on this system   
    **)
+                       AC_MSG_WARN(because long double is a synonym for double 
    **)
+                       
AC_MSG_WARN(**************************************************)
+                       AC_DEFINE(HAVE_FP_T_DOUBLE)
+                       HAVE_FP_T_DOUBLE=1
+                       unset HAVE_FP_T_QUADRUPLE
+                       HOCSUFFIX=64
+                       TESTFP=test64
+                       ;;
+               *)      case "`uname -s || true`" in
+                       AIX | IRIX* )
+                               
AC_MSG_WARN(**************************************************)
+                               AC_MSG_WARN(reverting to --with-double on this 
system       **)
+                               AC_MSG_WARN(because long double is a broken 
implementation  **)
+                               AC_MSG_WARN(using paired doubles                
            **)
+                               
AC_MSG_WARN(**************************************************)
+                               AC_DEFINE(HAVE_FP_T_DOUBLE)
+                               HAVE_FP_T_DOUBLE=1
+                               unset HAVE_FP_T_QUADRUPLE
+                               HOCSUFFIX=64
+                               TESTFP=test64
+                               ;;
+                       Darwin* | Rhapsody* )
+                               
AC_MSG_WARN(**************************************************)
+                               AC_MSG_WARN(reverting to --with-double on this 
system       **)
+                               AC_MSG_WARN(because long double is a synonym 
for double, or **)
+                               AC_MSG_WARN(is unsupported by the selected 
compiler         **)
+                               
AC_MSG_WARN(**************************************************)
+                               AC_DEFINE(HAVE_FP_T_DOUBLE)
+                               HAVE_FP_T_DOUBLE=1
+                               unset HAVE_FP_T_QUADRUPLE
+                               HOCSUFFIX=64
+                               TESTFP=test64
+                               ;;
+                       *)
+                               AC_DEFINE(HAVE_FP_T_QUADRUPLE)
+                               HAVE_FP_T_QUADRUPLE=1
+                               HOCSUFFIX=128
+                               TESTFP=test128
+                               ;;
+                       esac
+                       ;;
+               esac
+       fi
+fi
diff --git a/TODO.LDBL b/TODO.LDBL
deleted file mode 100644
index 61f073a..0000000
--- a/TODO.LDBL
+++ /dev/null
@@ -1,27 +0,0 @@
-* Replacement math routines. - DONE.
-   Update awk version fp_math.awk for the changes in C code ?
-   FUTURE: Improvemnet/Optimization.
-     [1] Use truncated Taylor series and/or approximating polynomials.
-         It would require at least two versions (80-bit and 128-bit).
-     [2] Horner's rule to evaluate truncated series.
-     [3] Payne and Hanek Reduction Algorithm to provide more sig digs
-         for sin and cos with large arguments. It most likely involves more
-         than just extending the PI table to few thousand entries.
-         Pay particular attention to the case when x is almost an integer
-         multiple of PI/2. For a clean-room implementation, consider the
-         feasibility of using (64-bit) integer arithmetic.
-         References:
-         * Elementary Functions: Algorithms and Implementation. Jean-Michel 
Muller,
-           Birkhäuser Boston.
-        * Handbook of Floating-Point Arithmetic. Jean-Michel Muller et. el.,
-           Birkhäuser Boston.
-         * Argument Reduction for Huge Arguments: Good to the Last Bit. K. C. 
Ng,
-           SunPro, Sun Microsystems, Inc. Business.
-           Original fdmlib implementation copied by most libm.
-       
-*  Don't use adjust_uint(uintmax_t n) from floatcomp.c, it is for AWKNUM.
-   What is the point of floor() and ceil() wrappers? Don't have a clue.
-   - DONE. Not sure if it is necessary for any long double and uintmax_t
-          combination found in the wild. Looks like ceil() and floor()
-           wrappers are for VMS; One probably should update comments
-           in floatcomp.c.
diff --git a/configh.in b/configh.in
index 66511a9..eab487c 100644
--- a/configh.in
+++ b/configh.in
@@ -20,9 +20,6 @@
 /* Define to 1 if you have the <arpa/inet.h> header file. */
 #undef HAVE_ARPA_INET_H
 
-/* Define to 1 if you have 'atan2l' function. */
-#undef HAVE_ATAN2L
-
 /* Define to 1 if you have the `atexit' function. */
 #undef HAVE_ATEXIT
 
@@ -40,9 +37,6 @@
    the CoreFoundation framework. */
 #undef HAVE_CFPREFERENCESCOPYAPPVALUE
 
-/* Define to 1 if you have 'cosl' function. */
-#undef HAVE_COSL
-
 /* Define if the GNU dcgettext() function is already present or preinstalled.
    */
 #undef HAVE_DCGETTEXT
@@ -54,9 +48,6 @@
 /* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
 #undef HAVE_DOPRNT
 
-/* Define to 1 if you have 'expl' function. */
-#undef HAVE_EXPL
-
 /* Define to 1 if you have the <fcntl.h> header file. */
 #undef HAVE_FCNTL_H
 
@@ -129,9 +120,6 @@
 /* Define to 1 if you have the <locale.h> header file. */
 #undef HAVE_LOCALE_H
 
-/* Define to 1 if you have 'logl' function. */
-#undef HAVE_LOGL
-
 /* Define to 1 if the system has the type `long double'. */
 #undef HAVE_LONG_DOUBLE
 
@@ -186,9 +174,6 @@
 /* Define to 1 if you have the `posix_openpt' function. */
 #undef HAVE_POSIX_OPENPT
 
-/* Define to 1 if you have 'powl' function. */
-#undef HAVE_POWL
-
 /* Define to 1 if you have the `setenv' function. */
 #undef HAVE_SETENV
 
@@ -198,9 +183,6 @@
 /* Define to 1 if you have the `setsid' function. */
 #undef HAVE_SETSID
 
-/* Define to 1 if you have 'sinl' function. */
-#undef HAVE_SINL
-
 /* Define to 1 if you have the `snprintf' function. */
 #undef HAVE_SNPRINTF
 
@@ -210,9 +192,6 @@
 /* we have sockets on this system */
 #undef HAVE_SOCKETS
 
-/* Define to 1 if you have 'sqrtl' function. */
-#undef HAVE_SQRTL
-
 /* Define to 1 if you have the <stdarg.h> header file. */
 #undef HAVE_STDARG_H
 
@@ -411,6 +390,9 @@
 /* Define to 1 if your <sys/time.h> declares `struct tm'. */
 #undef TM_IN_SYS_TIME
 
+/* Define to 1 if you need our math functions. */
+#undef USE_INCLUDED_MATH_FUNCS
+
 /* force use of our version of strftime */
 #undef USE_INCLUDED_STRFTIME
 
diff --git a/configure b/configure
index 2896259..96eaccb 100755
--- a/configure
+++ b/configure
@@ -10238,36 +10238,44 @@ $as_echo "$has_f_format" >&6; }
   if test $ac_cv_type_long_double = yes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether long double and 
double are the same" >&5
 $as_echo_n "checking whether long double and double are the same... " >&6; }
-if ${gl_cv_long_double_equals_double+:} false; then :
+if ${gawk_cv_long_double_equals_double+:} false; then :
   $as_echo_n "(cached) " >&6
 else
+  if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <float.h>
 int
 main ()
 {
-typedef int check[sizeof (long double) == sizeof (double)
-                           && LDBL_MANT_DIG == DBL_MANT_DIG
-                           && LDBL_MAX_EXP == DBL_MAX_EXP
-                           && LDBL_MIN_EXP == DBL_MIN_EXP
-                              ? 1 : -1];
+
+            return ! (LDBL_MANT_DIG > DBL_MANT_DIG
+                       && LDBL_MAX_EXP >= DBL_MAX_EXP
+                       && LDBL_MIN_EXP <= DBL_MIN_EXP);
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  gl_cv_long_double_equals_double=yes
+if ac_fn_c_try_run "$LINENO"; then :
+  gawk_cv_long_double_equals_double=no
 else
-  gl_cv_long_double_equals_double=no
+  gawk_cv_long_double_equals_double=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 
$gl_cv_long_double_equals_double" >&5
-$as_echo "$gl_cv_long_double_equals_double" >&6; }
-    if test $gl_cv_long_double_equals_double = no; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 
$gawk_cv_long_double_equals_double" >&5
+$as_echo "$gawk_cv_long_double_equals_double" >&6; }
+    if test $gawk_cv_long_double_equals_double = no; then
       { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether printf 
supports %Lf" >&5
 $as_echo_n "checking whether printf supports %Lf... " >&6; }
 if ${gawk_cv_has_L_format+:} false; then :
@@ -10333,6 +10341,8 @@ $as_echo "#define HAVE_STRTOLD 1" >>confdefs.h
 
     fi
 
+    LONG_DOUBLE_SAVE_LIBS=$LIBS
+    gawk_use_included_math=no
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sinl in -lm" >&5
 $as_echo_n "checking for sinl in -lm... " >&6; }
 if ${ac_cv_lib_m_sinl+:} false; then :
@@ -10378,11 +10388,6 @@ _ACEOF
 
 fi
 
-    if test $ac_cv_lib_m_sinl = yes; then
-
-$as_echo "#define HAVE_SINL 1" >>confdefs.h
-
-    fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cosl in -lm" >&5
 $as_echo_n "checking for cosl in -lm... " >&6; }
 if ${ac_cv_lib_m_cosl+:} false; then :
@@ -10428,11 +10433,6 @@ _ACEOF
 
 fi
 
-    if test $ac_cv_lib_m_cosl = yes; then
-
-$as_echo "#define HAVE_COSL 1" >>confdefs.h
-
-    fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for atan2l in -lm" >&5
 $as_echo_n "checking for atan2l in -lm... " >&6; }
 if ${ac_cv_lib_m_atan2l+:} false; then :
@@ -10478,11 +10478,6 @@ _ACEOF
 
 fi
 
-    if test $ac_cv_lib_m_atan2l = yes; then
-
-$as_echo "#define HAVE_ATAN2L 1" >>confdefs.h
-
-    fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for logl in -lm" >&5
 $as_echo_n "checking for logl in -lm... " >&6; }
 if ${ac_cv_lib_m_logl+:} false; then :
@@ -10528,11 +10523,6 @@ _ACEOF
 
 fi
 
-    if test $ac_cv_lib_m_logl = yes; then
-
-$as_echo "#define HAVE_LOGL 1" >>confdefs.h
-
-    fi
     { $as_echo "$as_me:${as_lineno-$LINENO}: checking for expl in -lm" >&5
 $as_echo_n "checking for expl in -lm... " >&6; }
 if ${ac_cv_lib_m_expl+:} false; then :
@@ -10578,14 +10568,9 @@ _ACEOF
 
 fi
 
-    if test $ac_cv_lib_m_expl = yes; then
-
-$as_echo "#define HAVE_EXPL 1" >>confdefs.h
-
-    fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl in -lm" >&5
-$as_echo_n "checking for fmodl in -lm... " >&6; }
-if ${ac_cv_lib_m_fmodl+:} false; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl in -lm" >&5
+$as_echo_n "checking for powl in -lm... " >&6; }
+if ${ac_cv_lib_m_powl+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -10599,27 +10584,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char fmodl ();
+char powl ();
 int
 main ()
 {
-return fmodl ();
+return powl ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_fmodl=yes
+  ac_cv_lib_m_powl=yes
 else
-  ac_cv_lib_m_fmodl=no
+  ac_cv_lib_m_powl=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_fmodl" >&5
-$as_echo "$ac_cv_lib_m_fmodl" >&6; }
-if test "x$ac_cv_lib_m_fmodl" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_powl" >&5
+$as_echo "$ac_cv_lib_m_powl" >&6; }
+if test "x$ac_cv_lib_m_powl" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -10628,14 +10613,9 @@ _ACEOF
 
 fi
 
-    if test $ac_cv_lib_m_fmodl = yes; then
-
-$as_echo "#define HAVE_FMODL 1" >>confdefs.h
-
-    fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for floorl in -lm" >&5
-$as_echo_n "checking for floorl in -lm... " >&6; }
-if ${ac_cv_lib_m_floorl+:} false; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl in -lm" >&5
+$as_echo_n "checking for sqrtl in -lm... " >&6; }
+if ${ac_cv_lib_m_sqrtl+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -10649,27 +10629,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char floorl ();
+char sqrtl ();
 int
 main ()
 {
-return floorl ();
+return sqrtl ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_floorl=yes
+  ac_cv_lib_m_sqrtl=yes
 else
-  ac_cv_lib_m_floorl=no
+  ac_cv_lib_m_sqrtl=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_floorl" >&5
-$as_echo "$ac_cv_lib_m_floorl" >&6; }
-if test "x$ac_cv_lib_m_floorl" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sqrtl" >&5
+$as_echo "$ac_cv_lib_m_sqrtl" >&6; }
+if test "x$ac_cv_lib_m_sqrtl" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -10678,14 +10658,19 @@ _ACEOF
 
 fi
 
-    if test $ac_cv_lib_m_floorl = yes; then
+    if test $ac_cv_lib_m_sinl = no || test $ac_cv_lib_m_cosl = no \
+          || test $ac_cv_lib_m_atan2l = no ||  test $ac_cv_lib_m_logl = no \
+         || test $ac_cv_lib_m_expl = no ||  test $ac_cv_lib_m_powl = no \
+         || test $ac_cv_lib_m_sqrtl = no; then
+       gawk_use_included_math=yes
 
-$as_echo "#define HAVE_FLOORL 1" >>confdefs.h
+$as_echo "#define USE_INCLUDED_MATH_FUNCS 1" >>confdefs.h
 
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ceill in -lm" >&5
-$as_echo_n "checking for ceill in -lm... " >&6; }
-if ${ac_cv_lib_m_ceill+:} false; then :
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fmodl in -lm" >&5
+$as_echo_n "checking for fmodl in -lm... " >&6; }
+if ${ac_cv_lib_m_fmodl+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -10699,27 +10684,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char ceill ();
+char fmodl ();
 int
 main ()
 {
-return ceill ();
+return fmodl ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_ceill=yes
+  ac_cv_lib_m_fmodl=yes
 else
-  ac_cv_lib_m_ceill=no
+  ac_cv_lib_m_fmodl=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_ceill" >&5
-$as_echo "$ac_cv_lib_m_ceill" >&6; }
-if test "x$ac_cv_lib_m_ceill" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_fmodl" >&5
+$as_echo "$ac_cv_lib_m_fmodl" >&6; }
+if test "x$ac_cv_lib_m_fmodl" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -10728,14 +10713,14 @@ _ACEOF
 
 fi
 
-    if test $ac_cv_lib_m_ceill = yes; then
+    if test $ac_cv_lib_m_fmodl = yes; then
 
-$as_echo "#define HAVE_CEILL 1" >>confdefs.h
+$as_echo "#define HAVE_FMODL 1" >>confdefs.h
 
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for powl in -lm" >&5
-$as_echo_n "checking for powl in -lm... " >&6; }
-if ${ac_cv_lib_m_powl+:} false; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for floorl in -lm" >&5
+$as_echo_n "checking for floorl in -lm... " >&6; }
+if ${ac_cv_lib_m_floorl+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -10749,27 +10734,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char powl ();
+char floorl ();
 int
 main ()
 {
-return powl ();
+return floorl ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_powl=yes
+  ac_cv_lib_m_floorl=yes
 else
-  ac_cv_lib_m_powl=no
+  ac_cv_lib_m_floorl=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_powl" >&5
-$as_echo "$ac_cv_lib_m_powl" >&6; }
-if test "x$ac_cv_lib_m_powl" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_floorl" >&5
+$as_echo "$ac_cv_lib_m_floorl" >&6; }
+if test "x$ac_cv_lib_m_floorl" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -10778,14 +10763,14 @@ _ACEOF
 
 fi
 
-    if test $ac_cv_lib_m_powl = yes; then
+    if test $ac_cv_lib_m_floorl = yes; then
 
-$as_echo "#define HAVE_POWL 1" >>confdefs.h
+$as_echo "#define HAVE_FLOORL 1" >>confdefs.h
 
     fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sqrtl in -lm" >&5
-$as_echo_n "checking for sqrtl in -lm... " >&6; }
-if ${ac_cv_lib_m_sqrtl+:} false; then :
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ceill in -lm" >&5
+$as_echo_n "checking for ceill in -lm... " >&6; }
+if ${ac_cv_lib_m_ceill+:} false; then :
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
@@ -10799,27 +10784,27 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 #ifdef __cplusplus
 extern "C"
 #endif
-char sqrtl ();
+char ceill ();
 int
 main ()
 {
-return sqrtl ();
+return ceill ();
   ;
   return 0;
 }
 _ACEOF
 if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_sqrtl=yes
+  ac_cv_lib_m_ceill=yes
 else
-  ac_cv_lib_m_sqrtl=no
+  ac_cv_lib_m_ceill=no
 fi
 rm -f core conftest.err conftest.$ac_objext \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sqrtl" >&5
-$as_echo "$ac_cv_lib_m_sqrtl" >&6; }
-if test "x$ac_cv_lib_m_sqrtl" = xyes; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_ceill" >&5
+$as_echo "$ac_cv_lib_m_ceill" >&6; }
+if test "x$ac_cv_lib_m_ceill" = xyes; then :
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBM 1
 _ACEOF
@@ -10828,11 +10813,17 @@ _ACEOF
 
 fi
 
-    if test $ac_cv_lib_m_sqrtl = yes; then
+    if test $ac_cv_lib_m_ceill = yes; then
 
-$as_echo "#define HAVE_SQRTL 1" >>confdefs.h
+$as_echo "#define HAVE_CEILL 1" >>confdefs.h
 
     fi
+    if test $ac_cv_lib_m_fmodl = yes || test $ac_cv_lib_m_floorl = yes \
+          || test $ac_cv_lib_m_ceill = yes || test $gawk_use_included_math = 
no; then
+       LIBS="$LONG_DOUBLE_SAVE_LIBS -lm"
+    else
+       LIBS="$LONG_DOUBLE_SAVE_LIBS"
+    fi
   fi
 
 
@@ -11532,7 +11523,7 @@ dylib)  GAWKLIBEXT=so ;;        # MacOS uses .dylib for 
shared libraries, but libtool us
 esac
 
 
-ac_config_files="$ac_config_files Makefile awklib/Makefile doc/Makefile 
po/Makefile.in test/Makefile"
+ac_config_files="$ac_config_files Makefile awklib/Makefile doc/Makefile 
po/Makefile.in test/Makefile misc/ldbl_tests/Makefile"
 
 
 
@@ -12284,6 +12275,7 @@ do
     "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
     "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
     "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;;
+    "misc/ldbl_tests/Makefile") CONFIG_FILES="$CONFIG_FILES 
misc/ldbl_tests/Makefile" ;;
 
   *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
   esac
diff --git a/configure.ac b/configure.ac
index 8d1e9b0..54efa88 100644
--- a/configure.ac
+++ b/configure.ac
@@ -390,6 +390,7 @@ AC_CONFIG_FILES(Makefile
        awklib/Makefile
        doc/Makefile
        po/Makefile.in
-       test/Makefile)
+       test/Makefile
+       misc/ldbl_tests/Makefile)
 AC_CONFIG_SUBDIRS(extension)
 AC_OUTPUT
diff --git a/long_double.c b/long_double.c
index d604893..08fb807 100644
--- a/long_double.c
+++ b/long_double.c
@@ -67,64 +67,22 @@
 #define get_long_double(d)     getblock(d, BLOCK_LDBL, AWKLDBL *)
 #define free_long_double(d)    freeblock(d, BLOCK_LDBL)
 
-#ifdef HAVE_SINL
-#define gawk_sinl      sinl
+#ifdef USE_INCLUDED_MATH_FUNCS
+#include "misc/gawk_math.h"
 #else
-static inline AWKLDBL
-gawk_sinl(AWKLDBL x)
-{
-       return sin( (double) x);
-}
-#endif
-
-#ifdef HAVE_COSL 
+#define gawk_sinl      sinl
 #define gawk_cosl      cosl
-#else
-static inline AWKLDBL
-gawk_cosl(AWKLDBL x)
-{
-       return cos( (double) x);
-}
-#endif
-
-#ifdef HAVE_ATAN2L
 #define gawk_atan2l    atan2l
-#else
-static inline AWKLDBL
-gawk_atan2l(AWKLDBL y, AWKLDBL x)
-{
-       return atan2( (double) y, (double) x);
-}
-#endif
-
-#ifdef HAVE_LOGL
 #define gawk_logl      logl
-#else
-static inline AWKLDBL
-gawk_logl(AWKLDBL x)
-{
-       return log( (double) x);
-}
-#endif
-
-#ifdef HAVE_EXPL
 #define gawk_expl      expl
-#else
-static inline AWKLDBL
-gawk_expl(AWKLDBL x)
-{
-       return exp( (double) x);
-}
+#define gawk_powl      powl
+#define gawk_sqrtl     sqrtl
 #endif
 
 #ifdef HAVE_FMODL
 #define gawk_fmodl     fmodl
 #else
-static inline AWKLDBL
-gawk_fmodl(AWKLDBL x, AWKLDBL y)
-{
-       return fmod( (double) x, (double) y);
-}
+static AWKLDBL gawk_fmodl(AWKLDBL x, AWKLDBL y);
 #endif
 
 #ifdef HAVE_STRTOLD
@@ -137,27 +95,16 @@ gawk_strtold(const char *str, char **endptr)
 }
 #endif
 
-#ifdef HAVE_POWL
-#define gawk_powl      powl
+#if defined(USE_INCLUDED_MATH_FUNCS) || ! defined(HAVE_FMODL) 
+#define GAWK_INFINITY  HUGE_VALL
+#define GAWK_NAN       (LDC(0.0) / LDC(0.0))
+#if GAWK_LDBL_FRAC_BITS > 64 
+#define REL_ERROR      LDC(1.0e-35)
 #else
-static inline AWKLDBL
-gawk_powl(AWKLDBL x, AWKLDBL y)
-{
-       return pow( (double) x, (double) y);
-}
+#define REL_ERROR      LDC(1.0e-20)
 #endif
-
-#ifdef HAVE_SQRTL
-#define gawk_sqrtl     sqrtl
-#else
-static inline AWKLDBL
-gawk_sqrtl(AWKLDBL x)
-{
-       return sqrt( (double) x);
-}
 #endif
 
-
 /* N.B: if floorl() or ceill() or "%Lf" is missing format integers ourself */
 
 #if ! (defined(HAVE_FLOORL) && defined(HAVE_CEILL) && 
defined(PRINTF_HAS_LF_FORMAT)) 
@@ -262,6 +209,7 @@ double_to_int(AWKLDBL x)
 
 
 #include "long_double.h"
+#include "misc/gawk_math.c"
 
 #else  /* ! USE_LONG_DOUBLE */
 
@@ -295,6 +243,5 @@ get_ldbl_handler(char *arg)
        if (arg != NULL && arg[0] == '0')
                return & float80_hndlr;
 #endif
-
        return  & awkldbl_hndlr;
 }
diff --git a/m4/ChangeLog b/m4/ChangeLog
index ea46ed3..5754845 100644
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,7 @@
+2013-02-09         John Haque      <address@hidden>
+
+       * long_double.m4: Reworked.
+
 2013-01-19         John Haque      <address@hidden>
 
        * long_double.m4: Make "%Lf" support in printf optional.
diff --git a/m4/long_double.m4 b/m4/long_double.m4
index 5cac44d..f435dc6 100644
--- a/m4/long_double.m4
+++ b/m4/long_double.m4
@@ -4,14 +4,6 @@ dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
-dnl size comparison copied from gnulib math_h.m4 serial 114
-dnl gl_LONG_DOUBLE_VS_DOUBLE
-dnl determines whether 'long double' and 'double' have the same representation.
-dnl Sets variable HAVE_SAME_LONG_DOUBLE_AS_DOUBLE to 0 or 1, and defines
-dnl HAVE_SAME_LONG_DOUBLE_AS_DOUBLE accordingly.
-dnl The currently known platforms where this is the case are:
-dnl Linux/HPPA, Minix 3.1.8, AIX 5, AIX 6 and 7 with xlc, MSVC 9.
-
 dnl Defines USE_LONG_DOUBLE to 1 if long double is found and usable.
 dnl Also checks for math functions with long double arguments.
 
@@ -23,19 +15,18 @@ AC_DEFUN([GAWK_USE_LONG_DOUBLE],
   AC_REQUIRE([AC_TYPE_LONG_DOUBLE])
   if test $ac_cv_type_long_double = yes; then
     AC_CACHE_CHECK([whether long double and double are the same],
-     [gl_cv_long_double_equals_double],
-     [AC_COMPILE_IFELSE(
+     [gawk_cv_long_double_equals_double],
+     [AC_RUN_IFELSE(
        [AC_LANG_PROGRAM([[#include <float.h>]],
-         [[typedef int check[sizeof (long double) == sizeof (double)
-                           && LDBL_MANT_DIG == DBL_MANT_DIG
-                           && LDBL_MAX_EXP == DBL_MAX_EXP
-                           && LDBL_MIN_EXP == DBL_MIN_EXP
-                              ? 1 : -1];
-         ]])],
-       [gl_cv_long_double_equals_double=yes],
-       [gl_cv_long_double_equals_double=no])
+         [[
+            return ! (LDBL_MANT_DIG > DBL_MANT_DIG
+                       && LDBL_MAX_EXP >= DBL_MAX_EXP
+                       && LDBL_MIN_EXP <= DBL_MIN_EXP);        
+          ]])],
+       [gawk_cv_long_double_equals_double=no],
+       [gawk_cv_long_double_equals_double=yes])
      ])
-    if test $gl_cv_long_double_equals_double = no; then
+    if test $gawk_cv_long_double_equals_double = no; then
       AC_CACHE_CHECK([whether printf supports %Lf],
        [gawk_cv_has_L_format],
        [AC_RUN_IFELSE(
@@ -66,26 +57,23 @@ AC_DEFUN([GAWK_USE_LONG_DOUBLE],
       AC_DEFINE([HAVE_STRTOLD], 1, [Define to 1 if you have 'strtold' 
function.])
     fi
 
+    LONG_DOUBLE_SAVE_LIBS=$LIBS
+    gawk_use_included_math=no
     AC_CHECK_LIB(m, sinl)
-    if test $ac_cv_lib_m_sinl = yes; then
-      AC_DEFINE([HAVE_SINL], 1,        [Define to 1 if you have 'sinl' 
function.])
-    fi
     AC_CHECK_LIB(m, cosl)
-    if test $ac_cv_lib_m_cosl = yes; then
-      AC_DEFINE([HAVE_COSL], 1,        [Define to 1 if you have 'cosl' 
function.])
-    fi
     AC_CHECK_LIB(m, atan2l)
-    if test $ac_cv_lib_m_atan2l = yes; then
-      AC_DEFINE([HAVE_ATAN2L], 1, [Define to 1 if you have 'atan2l' function.])
-    fi
     AC_CHECK_LIB(m, logl)
-    if test $ac_cv_lib_m_logl = yes; then
-      AC_DEFINE([HAVE_LOGL], 1,        [Define to 1 if you have 'logl' 
function.])
-    fi
     AC_CHECK_LIB(m, expl)
-    if test $ac_cv_lib_m_expl = yes; then
-      AC_DEFINE([HAVE_EXPL], 1,        [Define to 1 if you have 'expl' 
function.])
+    AC_CHECK_LIB(m, powl)
+    AC_CHECK_LIB(m, sqrtl)
+    if test $ac_cv_lib_m_sinl = no || test $ac_cv_lib_m_cosl = no \
+          || test $ac_cv_lib_m_atan2l = no ||  test $ac_cv_lib_m_logl = no \
+         || test $ac_cv_lib_m_expl = no ||  test $ac_cv_lib_m_powl = no \
+         || test $ac_cv_lib_m_sqrtl = no; then
+       gawk_use_included_math=yes
+       AC_DEFINE([USE_INCLUDED_MATH_FUNCS], 1, [Define to 1 if you need our 
math functions.])
     fi
+
     AC_CHECK_LIB(m, fmodl)
     if test $ac_cv_lib_m_fmodl = yes; then
       AC_DEFINE([HAVE_FMODL], 1, [Define to 1 if you have 'fmodl' function.])
@@ -98,13 +86,11 @@ AC_DEFUN([GAWK_USE_LONG_DOUBLE],
     if test $ac_cv_lib_m_ceill = yes; then
       AC_DEFINE([HAVE_CEILL], 1, [Define to 1 if you have 'ceill' function.])
     fi
-    AC_CHECK_LIB(m, powl)
-    if test $ac_cv_lib_m_powl = yes; then
-      AC_DEFINE([HAVE_POWL], 1,        [Define to 1 if you have 'powl' 
function.])
-    fi
-    AC_CHECK_LIB(m, sqrtl)
-    if test $ac_cv_lib_m_sqrtl = yes; then
-      AC_DEFINE([HAVE_SQRTL], 1, [Define to 1 if you have 'sqrtl' function.])
+    if test $ac_cv_lib_m_fmodl = yes || test $ac_cv_lib_m_floorl = yes \
+          || test $ac_cv_lib_m_ceill = yes || test $gawk_use_included_math = 
no; then
+       LIBS="$LONG_DOUBLE_SAVE_LIBS -lm"
+    else
+       LIBS="$LONG_DOUBLE_SAVE_LIBS"
     fi
   fi
 
diff --git a/main.c b/main.c
index 7857c42..04c9314 100644
--- a/main.c
+++ b/main.c
@@ -216,9 +216,21 @@ main(int argc, char **argv)
        int have_srcfile = 0;
        SRCFILE *s;
        bltin_t *numbr_bltins;
+       const char *float_type;
 
        /* default number handler */
        numbr_hndlr = & awknum_hndlr;
+       if ((float_type = getenv("GAWK_FLOAT")) != NULL) {
+               /*
+                * XXX: This is needed to run the test suite.
+                * Should be ifdef'ed out, but not on NUMEBUG or GAWKDEBUG.
+                */
+
+               if (strcmp(float_type, "LDBL") == 0)
+                       numbr_hndlr = & awkldbl_hndlr;
+               else if (strcmp(float_type, "MPFR") == 0)
+                       numbr_hndlr = & mpfp_hndlr;
+       }
 
        /* do these checks early */
        if (getenv("TIDYMEM") != NULL)
diff --git a/misc/ChangeLog b/misc/ChangeLog
index 0e38871..c0fb388 100644
--- a/misc/ChangeLog
+++ b/misc/ChangeLog
@@ -1,4 +1,10 @@
-013-02-08         John Haque            <address@hidden>
+2013-02-09         John Haque            <address@hidden>
+
+       * ldbl-tests: Renamed directory to gawk_libm_tests.
+       * ldbl_tests/(Makefile.am, Makefile.in, Gentests, Maketests): New files.
+       * Makefile: Updated.
+
+2013-02-08         John Haque            <address@hidden>
 
        * gawk_math.c (gawk_fmodl): Add new routine.
        (gawk_sinl, gawk_cosl): Update to handle huge arguments.
diff --git a/misc/Makefile b/misc/Makefile
index e2a1bb1..3ff1556 100644
--- a/misc/Makefile
+++ b/misc/Makefile
@@ -1,5 +1,3 @@
-LIBSTATIC = libmisc.a
-
 CC = gcc
 LD = gcc
 AR = ar
@@ -7,9 +5,13 @@ CMP = cmp
 
 srcdir = .
 top_srcdir = ..
+top_builddir = ..
 
 AWKPROG = $(top_srcdir)/gawk
 AWK = LC_ALL=C LANG=C $(AWKPROG)
+LIBM_DIR = gawk_libm_tests
+
+LIBSTATIC = libmisc.a
 
 ALL_CFLAGS = $(CFLAGS) -fPIC -DGAWK -DHAVE_CONFIG_H -c -I.. -I.
 
@@ -30,10 +32,17 @@ float80.o: float80.c $(top_srcdir)/awk.h 
$(top_srcdir)/long_double.h $(srcdir)/g
 
 clean:
        rm -f $(OBJS) $(LIBSTATIC)
+       cd $(LIBM_DIR) && rm -f core core.* _*
+       cd ldbl_tests && $(MAKE) clean
 
 distclean: clean
 
 check:
+       @if grep 'USE_LONG_DOUBLE 1' $(top_builddir)/config.h > /dev/null ; 
then \
+          cd ldbl_tests && $(MAKE) check GAWK_FLOAT=LDBL ; \
+       else \
+          echo long double is not supported on this system ; \
+       fi ;
 
 LDBL_TESTS = \
        ldblint64 \
@@ -55,7 +64,7 @@ LDBL_TESTS = \
        fmod64 \
        fmod113
 
-INFILE = ldbl-tests/data.in
+INFILE = $(LIBM_DIR)/data.in
 
 # An attempt to print something that can be grepped for in build logs
 pass-fail:
@@ -65,8 +74,8 @@ pass-fail:
        else    echo $$COUNT TESTS FAILED ; \
        fi
 
-ldbl-tests: $(LDBL_TESTS)
-       @$(MAKE) pass-fail TESTDIR=ldbl-tests
+libm-tests: $(LDBL_TESTS)
+       @$(MAKE) pass-fail TESTDIR=$(LIBM_DIR)
 
 
 $(INFILE):
@@ -74,107 +83,107 @@ $(INFILE):
 
 ldblint64:
        @echo $@
-       @$(AWK) -B0 -f ldbl-tests/address@hidden > ldbl-tests/_$@ 2>&1
-       @-$(CMP) ldbl-tests/address@hidden ldbl-tests/_$@ && rm -f 
ldbl-tests/_$@
+       @$(AWK) -B0 -f $(LIBM_DIR)/address@hidden > $(LIBM_DIR)/_$@ 2>&1
+       @-$(CMP) $(LIBM_DIR)/address@hidden $(LIBM_DIR)/_$@ && rm -f 
$(LIBM_DIR)/_$@
 
 ldblint128:
        @echo $@
-       @$(AWK) -B1 -f ldbl-tests/address@hidden > ldbl-tests/_$@ 2>&1
-       @-$(CMP) ldbl-tests/address@hidden ldbl-tests/_$@ && rm -f 
ldbl-tests/_$@
+       @$(AWK) -B1 -f $(LIBM_DIR)/address@hidden > $(LIBM_DIR)/_$@ 2>&1
+       @-$(CMP) $(LIBM_DIR)/address@hidden $(LIBM_DIR)/_$@ && rm -f 
$(LIBM_DIR)/_$@
 
 sqrt64: $(INFILE)
        @echo $@
-       @$(AWK) -B0 -vDIG=17 -f ldbl-tests/sqrt.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=17 -vPREC=64 -f ldbl-tests/sqrt.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B0 -vDIG=17 -f $(LIBM_DIR)/sqrt.awk $(INFILE) > 
$(LIBM_DIR)/_$@ 2>&1
+       @$(AWK) -M -vDIG=17 -vPREC=64 -f $(LIBM_DIR)/sqrt.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 sqrt113: $(INFILE)
        @echo $@
-       @$(AWK) -B1 -vDIG=32 -f ldbl-tests/sqrt.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=32 -vPREC=113 -f ldbl-tests/sqrt.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B1 -vDIG=32 -f $(LIBM_DIR)/sqrt.awk $(INFILE) > 
$(LIBM_DIR)/_$@ 2>&1
+       @$(AWK) -M -vDIG=32 -vPREC=113 -f $(LIBM_DIR)/sqrt.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 log64: $(INFILE)
        @echo $@
-       @$(AWK) -B0 -vDIG=17 -f ldbl-tests/log.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=17 -vPREC=64 -f ldbl-tests/log.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B0 -vDIG=17 -f $(LIBM_DIR)/log.awk $(INFILE) > $(LIBM_DIR)/_$@ 
2>&1
+       @$(AWK) -M -vDIG=17 -vPREC=64 -f $(LIBM_DIR)/log.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 log113: $(INFILE)
        @echo $@
-       @$(AWK) -B1 -vDIG=32 -f ldbl-tests/log.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=32 -vPREC=113 -f ldbl-tests/log.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B1 -vDIG=32 -f $(LIBM_DIR)/log.awk $(INFILE) > $(LIBM_DIR)/_$@ 
2>&1
+       @$(AWK) -M -vDIG=32 -vPREC=113 -f $(LIBM_DIR)/log.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 exp64: $(INFILE)
        @echo $@
-       @$(AWK) -B0 -vDIG=17 -f ldbl-tests/exp.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=17 -vPREC=64 -f ldbl-tests/exp.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B0 -vDIG=17 -f $(LIBM_DIR)/exp.awk $(INFILE) > $(LIBM_DIR)/_$@ 
2>&1
+       @$(AWK) -M -vDIG=17 -vPREC=64 -f $(LIBM_DIR)/exp.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 exp113: $(INFILE)
        @echo $@
-       @$(AWK) -B1 -vDIG=32 -f ldbl-tests/exp.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=32 -vPREC=113 -f ldbl-tests/exp.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B1 -vDIG=32 -f $(LIBM_DIR)/exp.awk $(INFILE) > $(LIBM_DIR)/_$@ 
2>&1
+       @$(AWK) -M -vDIG=32 -vPREC=113 -f $(LIBM_DIR)/exp.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 pow64: $(INFILE)
        @echo $@
-       @$(AWK) -B0 -vDIG=17 -f ldbl-tests/pow.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=17 -vPREC=64 -f ldbl-tests/pow.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -vTOL=10 -f floatcmp.awk ldbl-tests/_$@ 
ldbl-tests/address@hidden && rm ldbl-tests/_$@
+       @$(AWK) -B0 -vDIG=17 -f $(LIBM_DIR)/pow.awk $(INFILE) > $(LIBM_DIR)/_$@ 
2>&1
+       @$(AWK) -M -vDIG=17 -vPREC=64 -f $(LIBM_DIR)/pow.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -vTOL=10 -f floatcmp.awk $(LIBM_DIR)/_$@ 
$(LIBM_DIR)/address@hidden && rm $(LIBM_DIR)/_$@
 
 pow113: $(INFILE)
        @echo $@
-       @$(AWK) -B1 -vDIG=32 -f ldbl-tests/pow.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=32 -vPREC=113 -f ldbl-tests/pow.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -vTOL=20 -f floatcmp.awk ldbl-tests/_$@ 
ldbl-tests/address@hidden && rm ldbl-tests/_$@
+       @$(AWK) -B1 -vDIG=32 -f $(LIBM_DIR)/pow.awk $(INFILE) > $(LIBM_DIR)/_$@ 
2>&1
+       @$(AWK) -M -vDIG=32 -vPREC=113 -f $(LIBM_DIR)/pow.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -vTOL=20 -f floatcmp.awk $(LIBM_DIR)/_$@ 
$(LIBM_DIR)/address@hidden && rm $(LIBM_DIR)/_$@
 
 sin64: $(INFILE)
        @echo $@
-       @$(AWK) -B0 -vDIG=17 -f ldbl-tests/sin.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=17 -vPREC=64 -f ldbl-tests/sin.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B0 -vDIG=17 -f $(LIBM_DIR)/sin.awk $(INFILE) > $(LIBM_DIR)/_$@ 
2>&1
+       @$(AWK) -M -vDIG=17 -vPREC=64 -f $(LIBM_DIR)/sin.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 sin113: $(INFILE)
        @echo $@
-       @$(AWK) -B1 -vDIG=32 -f ldbl-tests/sin.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=32 -vPREC=113 -f ldbl-tests/sin.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B1 -vDIG=32 -f $(LIBM_DIR)/sin.awk $(INFILE) > $(LIBM_DIR)/_$@ 
2>&1
+       @$(AWK) -M -vDIG=32 -vPREC=113 -f $(LIBM_DIR)/sin.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 cos64: $(INFILE)
        @echo $@
-       @$(AWK) -B0 -vDIG=17 -f ldbl-tests/cos.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=17 -vPREC=64 -f ldbl-tests/cos.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B0 -vDIG=17 -f $(LIBM_DIR)/cos.awk $(INFILE) > $(LIBM_DIR)/_$@ 
2>&1
+       @$(AWK) -M -vDIG=17 -vPREC=64 -f $(LIBM_DIR)/cos.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 cos113: $(INFILE)
        @echo $@
-       @$(AWK) -B1 -vDIG=32 -f ldbl-tests/cos.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=32 -vPREC=113 -f ldbl-tests/cos.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B1 -vDIG=32 -f $(LIBM_DIR)/cos.awk $(INFILE) > $(LIBM_DIR)/_$@ 
2>&1
+       @$(AWK) -M -vDIG=32 -vPREC=113 -f $(LIBM_DIR)/cos.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 atan64: $(INFILE)
        @echo $@
-       @$(AWK) -B0 -vDIG=17 -f ldbl-tests/atan2.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=17 -vPREC=64 -f ldbl-tests/atan2.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B0 -vDIG=17 -f $(LIBM_DIR)/atan2.awk $(INFILE) > 
$(LIBM_DIR)/_$@ 2>&1
+       @$(AWK) -M -vDIG=17 -vPREC=64 -f $(LIBM_DIR)/atan2.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 atan113: $(INFILE)
        @echo $@
-       @$(AWK) -B1 -vDIG=32 -f ldbl-tests/atan2.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=32 -vPREC=113 -f ldbl-tests/atan2.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B1 -vDIG=32 -f $(LIBM_DIR)/atan2.awk $(INFILE) > 
$(LIBM_DIR)/_$@ 2>&1
+       @$(AWK) -M -vDIG=32 -vPREC=113 -f $(LIBM_DIR)/atan2.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 fmod64: $(INFILE)
        @echo $@
-       @$(AWK) -B0 -vDIG=17 -f ldbl-tests/fmod.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=17 -vPREC=64 -f ldbl-tests/fmod.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B0 -vDIG=17 -f $(LIBM_DIR)/fmod.awk $(INFILE) > 
$(LIBM_DIR)/_$@ 2>&1
+       @$(AWK) -M -vDIG=17 -vPREC=64 -f $(LIBM_DIR)/fmod.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
 
 fmod113: $(INFILE)
        @echo $@
        @echo 'This may take a while.'
-       @$(AWK) -B1 -vDIG=32 -f ldbl-tests/fmod.awk $(INFILE) > ldbl-tests/_$@ 
2>&1
-       @$(AWK) -M -vDIG=32 -vPREC=113 -f ldbl-tests/fmod.awk $(INFILE) > 
ldbl-tests/address@hidden 2>&1
-       @-$(AWK) -M -f floatcmp.awk ldbl-tests/_$@ ldbl-tests/address@hidden && 
rm ldbl-tests/_$@
+       @$(AWK) -B1 -vDIG=32 -f $(LIBM_DIR)/fmod.awk $(INFILE) > 
$(LIBM_DIR)/_$@ 2>&1
+       @$(AWK) -M -vDIG=32 -vPREC=113 -f $(LIBM_DIR)/fmod.awk $(INFILE) > 
$(LIBM_DIR)/address@hidden 2>&1
+       @-$(AWK) -M -f floatcmp.awk $(LIBM_DIR)/_$@ $(LIBM_DIR)/address@hidden 
&& rm $(LIBM_DIR)/_$@
diff --git a/misc/TODO.LDBL b/misc/TODO.LDBL
new file mode 100644
index 0000000..c43383a
--- /dev/null
+++ b/misc/TODO.LDBL
@@ -0,0 +1,48 @@
+* Replacement math routines. - DONE.
+   Update awk version fp_math.awk for the changes in C code ?
+   FUTURE: Improvements/Optimizations.
+     [1] Use truncated Taylor series and/or approximating polynomials.
+         It would require at least two versions (80-bit and 128-bit).
+     [2] Horner's rule to evaluate truncated series.
+     [3] Payne and Hanek Reduction Algorithm to provide more sig digs
+         for sin and cos with large arguments. It most likely involves more
+         than just extending the 2/PI table to few thousand entries.
+         Pay particular attention to the case when x is almost an integer
+         multiple of PI/2. For a clean-room implementation, consider the
+         feasibility of using (64-bit) integer arithmetic.
+
+        Also, will need to incorporate the "tail" part of an argument in
+        series approxmations: 
+              sin(x + dx) ~ sin(x) + cos(x) * dx
+                          ~ sin(x) + (1 - x * x/2) * dx
+         Similarly,
+              cos(x + dx) ~ cos(x) - sin(x)* dx
+                           ~ cos(x) - x * dx
+
+        Actual implementation may involve rearrangements of the terms, e.g.
+        combining the low part of the series expansion with the contribution
+         from the tail part of the argument.
+
+        This is mostly an academic exercise; One can often get the few extra
+        digits for free on the platform with 80-bit long doubles.
+
+         References:
+         * Elementary Functions: Algorithms and Implementation. Jean-Michel 
Muller,
+           Birkhäuser Boston.
+         * Handbook of Floating-Point Arithmetic. Jean-Michel Muller et. el.,
+           Birkhäuser Boston.
+         * Argument Reduction for Huge Arguments: Good to the Last Bit. K. C. 
Ng,
+           SunPro, Sun Microsystems, Inc. Business.
+           Original fdmlib implementation copied by most libm.
+
+     [4] fmod computation with 128-bit floats is currently very slow.
+       
+*  Don't use adjust_uint(uintmax_t n) from floatcomp.c, it is for AWKNUM.
+          - DONE. Not sure if it is necessary for any long double and uintmax_t
+          combination found in the wild. Looks like ceil() and floor()
+           wrappers are for VMS; One probably should update comments
+           in floatcomp.c.
+
+* NUMINT flag not used in the long double (and also arbitrary-precision float)
+code? The (future) changes needed to use integer-indexed awk arrays may
+have some implications?
diff --git a/misc/float128.c b/misc/float128.c
index d5fefab..0b57f40 100644
--- a/misc/float128.c
+++ b/misc/float128.c
@@ -150,6 +150,14 @@ numbr_handler_t float128_hndlr;
 
 #define awkldbl_hndlr float128_hndlr
 
+#ifndef USE_INCLUDED_MATH_FUNCS
+#define USE_INCLUDED_MATH_FUNCS
+#endif
+#ifdef HAVE_FMODL
+#undef HAVE_FMODL
+static AWKLDBL gawk_fmodl(AWKLDBL x, AWKLDBL y);
+#endif
+
 #include "misc/gawk_math.h"
 #include "long_double.h"
 #include "misc/gawk_math.c"
diff --git a/misc/float80.c b/misc/float80.c
index 263b6a6..6b331a4 100644
--- a/misc/float80.c
+++ b/misc/float80.c
@@ -86,6 +86,14 @@ numbr_handler_t float80_hndlr;
 
 #define awkldbl_hndlr float80_hndlr
 
+#ifndef USE_INCLUDED_MATH_FUNCS
+#define USE_INCLUDED_MATH_FUNCS
+#endif
+#ifdef HAVE_FMODL
+#undef HAVE_FMODL
+static AWKLDBL gawk_fmodl(AWKLDBL x, AWKLDBL y);
+#endif
+
 #include "misc/gawk_math.h"
 #include "long_double.h"
 #include "misc/gawk_math.c"
diff --git a/misc/ldbl-tests/atan2.awk b/misc/gawk_libm_tests/atan2.awk
similarity index 100%
rename from misc/ldbl-tests/atan2.awk
rename to misc/gawk_libm_tests/atan2.awk
diff --git a/misc/ldbl-tests/cos.awk b/misc/gawk_libm_tests/cos.awk
similarity index 100%
rename from misc/ldbl-tests/cos.awk
rename to misc/gawk_libm_tests/cos.awk
diff --git a/misc/ldbl-tests/exp.awk b/misc/gawk_libm_tests/exp.awk
similarity index 100%
rename from misc/ldbl-tests/exp.awk
rename to misc/gawk_libm_tests/exp.awk
diff --git a/misc/ldbl-tests/fmod.awk b/misc/gawk_libm_tests/fmod.awk
similarity index 100%
rename from misc/ldbl-tests/fmod.awk
rename to misc/gawk_libm_tests/fmod.awk
diff --git a/misc/ldbl-tests/ldblint128.awk 
b/misc/gawk_libm_tests/ldblint128.awk
similarity index 100%
rename from misc/ldbl-tests/ldblint128.awk
rename to misc/gawk_libm_tests/ldblint128.awk
diff --git a/misc/ldbl-tests/ldblint128.ok b/misc/gawk_libm_tests/ldblint128.ok
similarity index 100%
rename from misc/ldbl-tests/ldblint128.ok
rename to misc/gawk_libm_tests/ldblint128.ok
diff --git a/misc/ldbl-tests/ldblint64.awk b/misc/gawk_libm_tests/ldblint64.awk
similarity index 100%
rename from misc/ldbl-tests/ldblint64.awk
rename to misc/gawk_libm_tests/ldblint64.awk
diff --git a/misc/ldbl-tests/ldblint64.ok b/misc/gawk_libm_tests/ldblint64.ok
similarity index 100%
rename from misc/ldbl-tests/ldblint64.ok
rename to misc/gawk_libm_tests/ldblint64.ok
diff --git a/misc/ldbl-tests/log.awk b/misc/gawk_libm_tests/log.awk
similarity index 100%
rename from misc/ldbl-tests/log.awk
rename to misc/gawk_libm_tests/log.awk
diff --git a/misc/ldbl-tests/pow.awk b/misc/gawk_libm_tests/pow.awk
similarity index 100%
rename from misc/ldbl-tests/pow.awk
rename to misc/gawk_libm_tests/pow.awk
diff --git a/misc/ldbl-tests/sin.awk b/misc/gawk_libm_tests/sin.awk
similarity index 100%
rename from misc/ldbl-tests/sin.awk
rename to misc/gawk_libm_tests/sin.awk
diff --git a/misc/ldbl-tests/sqrt.awk b/misc/gawk_libm_tests/sqrt.awk
similarity index 100%
rename from misc/ldbl-tests/sqrt.awk
rename to misc/gawk_libm_tests/sqrt.awk
diff --git a/misc/gawk_math.c b/misc/gawk_math.c
index bafe833..1e6448e 100644
--- a/misc/gawk_math.c
+++ b/misc/gawk_math.c
@@ -48,14 +48,145 @@
 #define        GAWK_PI_4_MED   LDC(2.632161460363116600724708860070677474e-10) 
/* 32-bit 2nd part */
 #define        GAWK_PI_4_LOW   LDC(1.500889318411548350422246024296643642e-19) 
/* variable precision 3rd part */
 
+
+#if ! defined(HAVE_FMODL) || defined(USE_INCLUDED_MATH_FUNCS) 
+/*
+ * gawk_frexpl --- split the number x into a normalized fraction and an 
exponent.
+ *     The fraction is in the range [1, 2) (and NOT [0.5, 1)).
+ */
+
+static AWKLDBL
+gawk_frexpl(AWKLDBL x, int *exponent)
+{
+       AWKLDBL y;
+       unsigned low, high, mid;
+
+       /* (isnormal(x) && x > 0) is assumed to be true */
+
+       assert(exponent != NULL);
+       *exponent = 0;
+
+       low = 0;
+       if (x > _2L) {
+               high = GAWK_LDBL_MAX_EXP - 1;
+               while (low <= high) {
+                       mid = (low + high) / 2;
+                       y = x / pow2ld(mid);
+                       if (y > _2L)
+                               low = mid + 1;
+                       else
+                               high = mid - 1;
+               }
+               x /= pow2ld(low);
+               *exponent = low;
+       } else if (x < _1L) {
+               high = GAWK_LDBL_MAX_EXP - 1;   /* could be -LDBL_MIN_EXP, but 
no harm in using LDBL_MAX_EXP */
+               while (low <= high) {
+                       mid = (low + high) / 2;
+                       y =  x * pow2ld(mid);
+                       if (y < _1L)
+                               low = mid + 1;
+                       else
+                               high = mid - 1;
+               }
+               x *= pow2ld(low);
+               *exponent = -low;
+       }
+       if (x == _2L) {
+               x = _1L;
+               ++*exponent;
+       }
+       return x;
+}
+#endif
+
+#ifndef HAVE_FMODL
+/*
+ * gawk_fmodl --- Compute the floating-point remainder of dividing x by y
+ *     Method: shift and subtract.
+ */
+
+static AWKLDBL
+gawk_fmodl(AWKLDBL x, AWKLDBL y)
+{
+       AWKLDBL zx, zy, q;
+       int ex, ey, exy;
+       int signx = 1;
+       unsigned low, high, mid;
+
+       if (isnan(x) || isnan(y) 
+               || isinf(x) || y == _0L         /* XXX: set errno = EDOM ? */
+       )
+               return GAWK_NAN;
+
+       if (x == _0L)
+               return x;       /* +0 or -0 */
+       if (isinf(y))
+               return x;
+       
+       if (x < _0L) {
+               signx = -1;
+               x = -x;
+       }
+       if (y < _0L)
+               y = -y;
+
+       /* x > 0, y > 0 */
+       zy = gawk_frexpl(y, & ey);
+       zx = gawk_frexpl(x, & ex);
+       exy = ex - ey;
+       while (exy > 1) {
+               if (zx == _0L)
+                       return signx * _0L;
+
+               while (zx < zy && exy > 0) {
+                       zx *= 2;
+                       exy--;
+               }
+               if (exy < 0)
+                       break;
+
+               zx -= zy;
+
+#define        GAWK_LDBL_MAX_10_EXP    ((GAWK_LDBL_MAX_EXP + 1) / 4)
+               if (exy >= GAWK_LDBL_MAX_10_EXP) {
+                       /* Avoid possible overflow in 2^n computation */
+ 
+                       AWKLDBL tmp_exy, tmp_y;
+                       tmp_exy = exy;
+                       tmp_y = y;
+                       while (tmp_exy >= GAWK_LDBL_MAX_10_EXP) {
+                               tmp_y *= pow2ld(GAWK_LDBL_MAX_10_EXP);
+                               tmp_exy -= GAWK_LDBL_MAX_10_EXP;
+                       }
+                       x -= pow2ld(tmp_exy) * tmp_y;
+               } else
+                       x -= pow2ld(exy) * y;
+       }
+#undef GAWK_LDBL_MAX_10_EXP
+
+       while (x >= y)
+               x -= y;
+       if (signx > 0) {
+               if (x < _0L)
+                       x += y;
+       } else {
+               x = -x;
+               if (x > _0L)
+                       x -= y;
+       }
+       return x;
+}
+#endif
+
+
+#ifdef USE_INCLUDED_MATH_FUNCS
 static AWKLDBL taylor_exp(AWKLDBL x);
 static AWKLDBL taylor_cos(AWKLDBL x);
 static AWKLDBL taylor_sin(AWKLDBL x);
 static AWKLDBL arctan__p(AWKLDBL y, AWKLDBL x);
-static AWKLDBL gawk_frexpl(AWKLDBL x, int *exponent);
 static int gawk_rem_pio2l(AWKLDBL x, AWKLDBL *y);
 
-
 /* gawk_sinl --- Compute sin(x) */
 
 static AWKLDBL
@@ -639,133 +770,6 @@ gawk_sqrtl(AWKLDBL x)
        return yn;
 }
 
-/*
- * gawk_fmodl --- Compute the floating-point remainder of dividing x by y
- *     Method: shift and subtract.
- */
-
-static AWKLDBL
-gawk_fmodl(AWKLDBL x, AWKLDBL y)
-{
-       AWKLDBL zx, zy, q;
-       int ex, ey, exy;
-       int signx = 1;
-       unsigned low, high, mid;
-
-       if (isnan(x) || isnan(y) 
-               || isinf(x) || y == _0L         /* XXX: set errno = EDOM ? */
-       )
-               return GAWK_NAN;
-
-       if (x == _0L)
-               return x;       /* +0 or -0 */
-       if (isinf(y))
-               return x;
-       
-       if (x < _0L) {
-               signx = -1;
-               x = -x;
-       }
-       if (y < _0L)
-               y = -y;
-
-       /* x > 0, y > 0 */
-       zy = gawk_frexpl(y, & ey);
-       zx = gawk_frexpl(x, & ex);
-       exy = ex - ey;
-       while (exy > 1) {
-               if (zx == _0L)
-                       return signx * _0L;
-
-               while (zx < zy && exy > 0) {
-                       zx *= 2;
-                       exy--;
-               }
-               if (exy < 0)
-                       break;
-
-               zx -= zy;
-
-#define        GAWK_LDBL_MAX_10_EXP    ((GAWK_LDBL_MAX_EXP + 1) / 4)
-               if (exy >= GAWK_LDBL_MAX_10_EXP) {
-                       /* Avoid possible overflow in 2^n computation */
- 
-                       AWKLDBL tmp_exy, tmp_y;
-                       tmp_exy = exy;
-                       tmp_y = y;
-                       while (tmp_exy >= GAWK_LDBL_MAX_10_EXP) {
-                               tmp_y *= pow2ld(GAWK_LDBL_MAX_10_EXP);
-                               tmp_exy -= GAWK_LDBL_MAX_10_EXP;
-                       }
-                       x -= pow2ld(tmp_exy) * tmp_y;
-               } else
-                       x -= pow2ld(exy) * y;
-       }
-#undef GAWK_LDBL_MAX_10_EXP
-
-       while (x >= y)
-               x -= y;
-       if (signx > 0) {
-               if (x < _0L)
-                       x += y;
-       } else {
-               x = -x;
-               if (x > _0L)
-                       x -= y;
-       }
-       return x;
-}
-
-
-/*
- * gawk_frexpl --- split the number x into a normalized fraction and an 
exponent.
- *     The fraction is in the range [1, 2) (and NOT [0.5, 1)).
- */
-
-static AWKLDBL
-gawk_frexpl(AWKLDBL x, int *exponent)
-{
-       AWKLDBL y;
-       unsigned low, high, mid;
-
-       /* (isnormal(x) && x > 0) is assumed to be true */
-
-       assert(exponent != NULL);
-       *exponent = 0;
-
-       low = 0;
-       if (x > _2L) {
-               high = GAWK_LDBL_MAX_EXP - 1;
-               while (low <= high) {
-                       mid = (low + high) / 2;
-                       y = x / pow2ld(mid);
-                       if (y > _2L)
-                               low = mid + 1;
-                       else
-                               high = mid - 1;
-               }
-               x /= pow2ld(low);
-               *exponent = low;
-       } else if (x < _1L) {
-               high = GAWK_LDBL_MAX_EXP - 1;   /* could be -LDBL_MIN_EXP, but 
no harm in using LDBL_MAX_EXP */
-               while (low <= high) {
-                       mid = (low + high) / 2;
-                       y =  x * pow2ld(mid);
-                       if (y < _1L)
-                               low = mid + 1;
-                       else
-                               high = mid - 1;
-               }
-               x *= pow2ld(low);
-               *exponent = -low;
-       }
-       if (x == _2L) {
-               x = _1L;
-               ++*exponent;
-       }
-       return x;
-}
-
 /* taylor_exp --- Compute exp(x) using Taylor series and modified squaring 
reduction */
 
 static AWKLDBL
@@ -983,7 +987,7 @@ arctan__p(AWKLDBL y, AWKLDBL x)
                sign = -1;
                z = -z;
        }
-       assert(z > _1L);
+       assert(z >= _1L);
 
        if (z <= LDC(20.0)) {
                /* For y / x  >= 0.05, Euler atan is slow! */
@@ -1076,3 +1080,4 @@ gawk_rem_pio2l(AWKLDBL x, AWKLDBL *y)
        y[1] = t - (y[0] - w);
        return n;
 }
+#endif /* USE_INCLUDED_MATH_FUNCS */
diff --git a/misc/gawk_math.h b/misc/gawk_math.h
index 5109d55..b96fb92 100644
--- a/misc/gawk_math.h
+++ b/misc/gawk_math.h
@@ -28,7 +28,5 @@ static AWKLDBL gawk_cosl(AWKLDBL x);
 static AWKLDBL gawk_atan2l(AWKLDBL y, AWKLDBL x);
 static AWKLDBL gawk_logl(AWKLDBL x);
 static AWKLDBL gawk_expl(AWKLDBL x);
-static AWKLDBL gawk_fmodl(AWKLDBL x, AWKLDBL y);
 static AWKLDBL gawk_powl(AWKLDBL x, AWKLDBL y);
 static AWKLDBL gawk_sqrtl(AWKLDBL x);
-
diff --git a/misc/ldbl_tests/Gentests b/misc/ldbl_tests/Gentests
new file mode 100755
index 0000000..8924f6a
--- /dev/null
+++ b/misc/ldbl_tests/Gentests
@@ -0,0 +1,114 @@
+#!/usr/bin/gawk -f
+
+# This program should generate Maketests
+
+BEGIN {
+       if (VMSTESTS) vmsargvfixup()
+
+       # read the list of files
+       for (i = 2; i < ARGC; i++)
+               files[ARGV[i]]
+
+       # throw it away
+       ARGC = 2
+
+       ntests = 0
+}
+
+# process the file Makefile.am:
+
+/^[[:upper:]_]*_TESTS *=/,/[^\\]$/ {
+       gsub(/(^[[:upper:]_]*_TESTS *=|\\$)/,"")
+       for (i = 1; i <= NF; i++)
+               tests[++ntests] = $i
+       next
+}
+
+/^NEED_LINT *=/,/[^\\]$/ {
+       gsub(/(^NEED_LINT *=|\\$)/,"")
+       for (i = 1; i <= NF; i++)
+               lint[$i]
+       next
+}
+
+/^NEED_LINT_OLD *=/,/[^\\]$/ {
+       gsub(/(^NEED_LINT_OLD *=|\\$)/,"")
+       for (i = 1; i <= NF; i++)
+               lint_old[$i]
+       next
+}
+
+/^GENTESTS_UNUSED *=/,/[^\\]$/ {
+       gsub(/(^GENTESTS_UNUSED *=|\\$)/,"")
+       for (i = 1; i <= NF; i++)
+               unused[$i]
+       next
+}
+
+/^CHECK_MPFR *=/,/[^\\]$/ {
+       gsub(/(^CHECK_MPFR *=|\\$)/,"")
+       for (i = 1; i <= NF; i++)
+               mpfr[$i]
+       next
+}
+
+/^[[:alpha:]_][[:alnum:]_]*:/ {
+       # remember all targets from Makefile.am
+       sub(/:.*/,"")
+       targets[$0]
+}
+
+# Now write the output file:
+END {
+       # this line tells automake to keep the comment with the rules:
+       print "Gt-dummy:"
+       print "# file Maketests, generated from Makefile.am by the Gentests 
program"
+
+       for (i = 1; i <= ntests; i++) {
+               x = tests[i]
+               if (!(x in targets))
+                       generate(x)
+       }
+
+       print "# end of file Maketests"
+}
+
+function generate(x,   s)
+{
+       if (!(x".awk" in files))
+               printf "WARNING: file `%s.awk' not found.\n", x > "/dev/stderr"
+       else
+               delete files[x".awk"]
+
+       if (VMSTESTS) return vmsgenerate(x)
+
+       print x ":"
+
+       s = ""
+       if (x in lint) {
+               s = s " --lint"
+               delete lint[x]
+       }
+       if (x in lint_old) {
+               s = s " --lint-old"
+               delete lint_old[x]
+       }
+       if (x".in" in files) {
+               s = s " < $(TESTDIR)/address@hidden"
+               delete files[x".in"]
+       }
+
+       printf "address@hidden address@hidden"
+       printf "address@hidden(TESTDIR) $(AWK) -f address@hidden %s >_$@ 2>&1 
|| echo EXIT CODE: $$? >>address@hidden", s
+
+       if (x in mpfr) {
+               delete mpfr[x]
+               printf "address@hidden test -z \"$$AWKFLAGS\" ; then $(CMP) 
$(TESTDIR)/address@hidden _$@ && rm -f _$@ ; else \\\n"
+               printf "\t$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@ ; 
\\\n"
+               printf "\tfi\n\n"
+       } else {
+               printf "address@hidden(CMP) $(TESTDIR)/address@hidden _$@ && rm 
-f address@hidden"
+       }
+}
+# VMSTESTS: generate test template in vms format
+# gawk -v "VMSTESTS=1" -f Gentests -f Gentests.vms Makefile.am *.awk *.in 
>Maketests.vms
diff --git a/test/Makefile.am b/misc/ldbl_tests/Makefile.am
similarity index 66%
copy from test/Makefile.am
copy to misc/ldbl_tests/Makefile.am
index da67b05..16c9dd4 100644
--- a/test/Makefile.am
+++ b/misc/ldbl_tests/Makefile.am
@@ -283,8 +283,6 @@ EXTRA_DIST = \
        functab2.ok \
        functab3.awk \
        functab3.ok \
-       functab4.awk \
-       functab4.ok \
        funlen.awk \
        funlen.in \
        funlen.ok \
@@ -820,8 +818,6 @@ EXTRA_DIST = \
        synerr2.awk \
        synerr2.ok \
        testext.ok \
-       time.awk \
-       time.ok \
        tradanch.awk \
        tradanch.in \
        tradanch.ok \
@@ -869,6 +865,7 @@ EXTRA_DIST = \
        zeroflag.awk \
        zeroflag.ok
 
+TESTDIR = ../../test
 
 TESTS_WE_ARE_NOT_DOING_YET_FIXME_ONE_DAY = longdbl
 
@@ -918,12 +915,16 @@ UNIX_TESTS = \
        fflush getlnhd localenl pid pipeio1 pipeio2 poundbang rtlen rtlen01 \
        space strftlng
 
+# Tests not run with long double: dumpvars, symtab1, symtab6 --- symbol table 
dumps.
+# Different entries in table, not worth the hassle and who wants to constantly
+# update the *.ok files?
+
 GAWK_EXT_TESTS = \
        aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
-       backw badargs beginfile1 beginfile2 binmode1 charasbytes \
-       clos1way delsub devfd devfd1 devfd2 dumpvars exit \
+       backw badargs beginfile1 binmode1 charasbytes \
+       clos1way delsub devfd devfd1 devfd2 exit \
        fieldwdth fpat1 fpat2 fpat3  fpatnull fsfwfs funlen \
-       functab1 functab2 functab3 functab4 \
+       functab1 functab2 functab3 \
        fwtest fwtest2 fwtest3 \
        gensub gensub2 getlndir gnuops2 gnuops3 gnureops \
        icasefs icasers id igncdym igncfs ignrcas2 ignrcase \
@@ -937,8 +938,8 @@ GAWK_EXT_TESTS = \
        rebuf regx8bit reint reint2 rsstart1 \
        rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \
        strtonum switch2 \
-       symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 symtab7 \
-       symtab8 symtab9
+       symtab2 symtab3 symtab4 symtab5 symtab7 \
+       symtab9
 
 EXTRA_TESTS = inftest regtest
 
@@ -948,13 +949,16 @@ MACHINE_TESTS = double1 double2 fmtspcl intformat
 
 MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint
 
+# Tests not run with long double: fnraydel, fnparydl --- index ordering issue. 
+#      Not really useful for the purpose.
+
 LOCALE_CHARSET_TESTS = \
-       asort asorti fmttest fnarydel fnparydl jarebug lc_num1 mbfw1 \
+       asort asorti fmttest jarebug lc_num1 mbfw1 \
        mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc
 
 SHLIB_TESTS = \
        fnmatch filefuncs fork fork2 fts ordchr ordchr2 \
-       readdir readfile revout revtwoway rwarray testext time
+       readdir readfile revout revtwoway rwarray testext
 
 # List of the tests which should be run with --lint option:
 NEED_LINT = \
@@ -976,7 +980,7 @@ CHECK_MPFR = \
 GENTESTS_UNUSED = Makefile.in gtlnbufv.awk printfloat.awk inclib.awk hello.awk
 
 CMP = cmp
-AWKPROG = ../gawk$(EXEEXT)
+AWKPROG = ../../gawk$(EXEEXT)
 
 # Default for VALGRIND is empty unless overridden by a command-line argument.
 # This protects against cruft in the environment.
@@ -990,7 +994,7 @@ VALGRIND =
 
 #
 # And we set AWKLIBPATH to find the extension libraries we built.
-AWK = LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} 
AWKLIBPATH=../extension/.libs $(VALGRIND) $(AWKPROG)
+AWK = LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} $(AWKPROG)
 
 # Message stuff is to make it a little easier to follow.
 # Make the pass-fail last and dependent on others to avoid
@@ -1001,43 +1005,38 @@ check:  msg \
        unix-msg-start   unix-tests      unix-msg-end \
        extend-msg-start gawk-extensions extend-msg-end \
        machine-msg-start machine-tests machine-msg-end \
-       charset-msg-start charset-tests charset-msg-end \
-       shlib-msg-start  shlib-tests     shlib-msg-end
-       @$(MAKE) pass-fail
+       charset-msg-start charset-tests charset-msg-end
 
-basic: $(BASIC_TESTS)
+basic:
+       @if test -n "$$GAWK_FLOAT"; then $(MAKE) ldbl-basic-tests ; fi
 
-unix-tests: $(UNIX_TESTS)
+ldbl-basic-tests: $(BASIC_TESTS)
 
-gawk-extensions: $(GAWK_EXT_TESTS)
+unix-tests:
+       @if test -n "$$GAWK_FLOAT"; then $(MAKE) ldbl-unix-tests ; fi
 
-charset-tests: $(LOCALE_CHARSET_TESTS)
+ldbl-unix-tests: $(UNIX_TESTS)
 
-extra: $(EXTRA_TESTS) inet
+gawk-extensions:
+       @if test -n "$$GAWK_FLOAT"; then $(MAKE) ldbl-gawk-extensions ; fi
 
-inet:  inetmesg $(INET_TESTS)
+ldbl-gawk-extensions: $(GAWK_EXT_TESTS)
 
-machine-tests: $(MACHINE_TESTS)
+charset-tests:
+       @if test -n "$$GAWK_FLOAT"; then $(MAKE) ldbl-charset-tests ; fi
 
-mpfr-tests: $(MPFR_TESTS)
+ldbl-charset-tests: $(LOCALE_CHARSET_TESTS)
 
-shlib-tests:
-       @if grep 'DYNAMIC 1' $(top_builddir)/config.h > /dev/null ; then \
-       $(MAKE) shlib-real-tests ; \
-       else echo shlib tests not supported on this system ; \
-       fi
+machine-tests:
+       @if test -n "$$GAWK_FLOAT"; then $(MAKE) ldbl-machine-tests ; fi
 
-shlib-real-tests: $(SHLIB_TESTS)
+ldbl-machine-tests: $(MACHINE_TESTS)
 
 msg::
-       @echo ''
-       @echo 'Any output from "cmp" is bad news, although some differences'
-       @echo 'in floating point values are probably benign -- in particular,'
-       @echo 'some systems may omit a leading zero and the floating point'
-       @echo 'precision may lead to slightly different output in a few cases.'
+       @echo 'Running tests using LONG DOUBLE numbers'
 
 printlang::
-       @$(AWK) -f $(srcdir)/printlang.awk
+       @$(AWK) -f $(TESTDIR)/printlang.awk
 
 basic-msg-start:
        @echo "======== Starting basic tests ========"
@@ -1069,18 +1068,12 @@ charset-msg-start:
 charset-msg-end:
        @echo "======== Done with tests that can vary based on character set or 
locale support ========"
 
-shlib-msg-start:
-       @echo "======== Starting shared library tests ========"
-
-shlib-msg-end:
-       @echo "======== Done with shared library tests ========"
-
 
 lc_num1:
        @echo $@
        @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
-       AWKPATH=$(srcdir) $(AWK) -f address@hidden >_$@ 2>&1 || echo EXIT CODE: 
$$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 
 # This test is a PITA because increasingly, /tmp is getting
@@ -1090,86 +1083,86 @@ lc_num1:
 # so this can still fail
 poundbang::
        @echo $@
-       @sed "s;/tmp/gawk;`pwd`/$(AWKPROG);" < $(srcdir)/poundbang.awk > 
./_pbd.awk
+       @sed "s;/tmp/gawk;`pwd`/$(AWKPROG);" < $(TESTDIR)/poundbang.awk > 
./_pbd.awk
        @chmod +x ./_pbd.awk
-       @if ./_pbd.awk $(srcdir)/poundbang.awk > _`basename address@hidden ; \
+       @if ./_pbd.awk $(TESTDIR)/poundbang.awk > _`basename address@hidden ; \
        then : ; \
        else \
-               sed "s;/tmp/gawk;../$(AWKPROG);" < $(srcdir)/poundbang.awk > 
./_pbd.awk ; \
+               sed "s;/tmp/gawk;../$(AWKPROG);" < $(TESTDIR)/poundbang.awk > 
./_pbd.awk ; \
                chmod +x ./_pbd.awk ; \
-               LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} ./_pbd.awk 
$(srcdir)/poundbang.awk > _`basename address@hidden;  \
+               LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} ./_pbd.awk 
$(TESTDIR)/poundbang.awk > _`basename address@hidden;  \
        fi
-       @-$(CMP) $(srcdir)/poundbang.awk _`basename address@hidden && rm -f 
_`basename address@hidden _pbd.awk
+       @-$(CMP) $(TESTDIR)/poundbang.awk _`basename address@hidden && rm -f 
_`basename address@hidden _pbd.awk
 
 messages::
        @echo $@
-       @$(AWK) -f $(srcdir)/messages.awk >_out2 2>_out3
-       @-$(CMP) $(srcdir)/out1.ok _out1 && $(CMP) $(srcdir)/out2.ok _out2 && 
$(CMP) $(srcdir)/out3.ok _out3 && rm -f _out1 _out2 _out3
+       @$(AWK) -f $(TESTDIR)/messages.awk >_out2 2>_out3
+       @-$(CMP) $(TESTDIR)/out1.ok _out1 && $(CMP) $(TESTDIR)/out2.ok _out2 && 
$(CMP) $(TESTDIR)/out3.ok _out3 && rm -f _out1 _out2 _out3
 
 argarray::
        @echo $@
-       @case $(srcdir) in \
+       @case $(TESTDIR) in \
        .)      : ;; \
-       *)      cp $(srcdir)/argarray.in . ;; \
+       *)      cp $(TESTDIR)/argarray.in . ;; \
        esac
-       @TEST=test echo just a test | $(AWK) -f $(srcdir)/argarray.awk 
./argarray.in - >_$@
-       @case $(srcdir) in \
+       @TEST=test echo just a test | $(AWK) -f $(TESTDIR)/argarray.awk 
./argarray.in - >_$@
+       @case $(TESTDIR) in \
        .)      : ;; \
        *)      rm -f ./argarray.in ;; \
        esac
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 regtest::
        @echo 'Some of the output from regtest is very system specific, do not'
        @echo 'be distressed if your output differs from that distributed.'
        @echo 'Manual inspection is called for.'
-       AWK=$(AWKPROG) $(srcdir)/regtest.sh
+       AWK=$(AWKPROG) $(TESTDIR)/regtest.sh
 
 manyfiles::
        @echo manyfiles
        @rm -rf junk
        @mkdir junk
        @$(AWK) 'BEGIN { for (i = 1; i <= 1030; i++) print i, i}' >_$@
-       @$(AWK) -f $(srcdir)/manyfiles.awk _$@ _$@
+       @$(AWK) -f $(TESTDIR)/manyfiles.awk _$@ _$@
        @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l | sed "s/  *//g" > _$@
        @rm -rf junk
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 compare::
        @echo $@
-       @$(AWK) -f $(srcdir)/compare.awk 0 1 $(srcdir)/compare.in >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -f $(TESTDIR)/compare.awk 0 1 $(TESTDIR)/compare.in >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 inftest::
        @echo $@
        @echo This test is very machine specific...
-       @$(AWK) -f $(srcdir)/inftest.awk | sed "s/inf/Inf/g" >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -f $(TESTDIR)/inftest.awk | sed "s/inf/Inf/g" >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 getline2::
        @echo $@
-       @$(AWK) -f $(srcdir)/getline2.awk $(srcdir)/getline2.awk 
$(srcdir)/getline2.awk >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -f $(TESTDIR)/getline2.awk $(TESTDIR)/getline2.awk 
$(TESTDIR)/getline2.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 awkpath::
        @echo $@
-       @AWKPATH="$(srcdir)$(PATH_SEPARATOR)$(srcdir)/lib" $(AWK) -f 
awkpath.awk >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @AWKPATH="$(TESTDIR)$(PATH_SEPARATOR)$(TESTDIR)/lib" $(AWK) -f 
awkpath.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 argtest::
        @echo $@
-       @$(AWK) -f $(srcdir)/argtest.awk -x -y abc >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -f $(TESTDIR)/argtest.awk -x -y abc >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 badargs::
        @echo $@
        @-$(AWK) -f 2>&1 | grep -v patchlevel >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 nonl::
        @echo $@
-       @-AWKPATH=$(srcdir) $(AWK) --lint -f nonl.awk /dev/null >_$@ 2>&1
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-AWKPATH=$(TESTDIR) $(AWK) --lint -f nonl.awk /dev/null >_$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 strftime::
        @echo This test could fail on slow machines or on a minute boundary,
@@ -1177,102 +1170,102 @@ strftime::
        @echo $@
        @GAWKLOCALE=C; export GAWKLOCALE; \
        TZ=GMT0; export TZ; \
-       (LC_ALL=C date) | $(AWK) -v OUTPUT=_$@ -f $(srcdir)/strftime.awk
+       (LC_ALL=C date) | $(AWK) -v OUTPUT=_$@ -f $(TESTDIR)/strftime.awk
        @-$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0
 
 litoct::
        @echo $@
-       @echo ab | $(AWK) --traditional -f $(srcdir)/litoct.awk >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @echo ab | $(AWK) --traditional -f $(TESTDIR)/litoct.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 devfd::
        @echo $@
-       @$(AWK) 1 /dev/fd/4 /dev/fd/5 4<$(srcdir)/devfd.in4 
5<$(srcdir)/devfd.in5 >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) 1 /dev/fd/4 /dev/fd/5 4<$(TESTDIR)/devfd.in4 
5<$(TESTDIR)/devfd.in5 >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 fflush::
        @echo $@
-       @$(srcdir)/fflush.sh >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 tweakfld::
        @echo $@
-       @$(AWK) -f $(srcdir)/tweakfld.awk $(srcdir)/tweakfld.in >_$@
+       @$(AWK) -f $(TESTDIR)/tweakfld.awk $(TESTDIR)/tweakfld.in >_$@
        @rm -f errors.cleanup
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mmap8k::
        @echo $@
-       @$(AWK) '{ print }' $(srcdir)/mmap8k.in >_$@
-       @-$(CMP) $(srcdir)/mmap8k.in _$@ && rm -f _$@
+       @$(AWK) '{ print }' $(TESTDIR)/mmap8k.in >_$@
+       @-$(CMP) $(TESTDIR)/mmap8k.in _$@ && rm -f _$@
 
 tradanch::
        @echo $@
-       @$(AWK) --traditional -f $(srcdir)/tradanch.awk $(srcdir)/tradanch.in 
>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) --traditional -f $(TESTDIR)/tradanch.awk $(TESTDIR)/tradanch.in 
>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 # AIX /bin/sh exec's the last command in a list, therefore issue a ":"
 # command so that pid.sh is fork'ed as a child before being exec'ed.
 pid::
        @echo pid
-       @AWKPATH=$(srcdir) AWK=$(AWKPROG) $(SHELL) $(srcdir)/pid.sh $$$$ > 
_`basename address@hidden ; :
-       @-$(CMP) $(srcdir)/pid.ok _`basename address@hidden && rm -f _`basename 
address@hidden
+       @AWKPATH=$(TESTDIR) AWK=$(AWKPROG) $(SHELL) $(TESTDIR)/pid.sh $$$$ > 
_`basename address@hidden ; :
+       @-$(CMP) $(TESTDIR)/pid.ok _`basename address@hidden && rm -f 
_`basename address@hidden
 
 strftlng::
        @echo $@
-       @TZ=UTC; export TZ; $(AWK) -f $(srcdir)/strftlng.awk >_$@
-       @if $(CMP) $(srcdir)/strftlng.ok _$@ >/dev/null 2>&1 ; then : ; else \
-       TZ=UTC0; export TZ; $(AWK) -f $(srcdir)/strftlng.awk >_$@ ; \
+       @TZ=UTC; export TZ; $(AWK) -f $(TESTDIR)/strftlng.awk >_$@
+       @if $(CMP) $(TESTDIR)/strftlng.ok _$@ >/dev/null 2>&1 ; then : ; else \
+       TZ=UTC0; export TZ; $(AWK) -f $(TESTDIR)/strftlng.awk >_$@ ; \
        fi
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 nors::
        @echo $@
-       @echo A B C D E | tr -d '\12\15' | $(AWK) '{ print $$NF }' - 
$(srcdir)/nors.in > _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @echo A B C D E | tr -d '\12\15' | $(AWK) '{ print $$NF }' - 
$(TESTDIR)/nors.in > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
-fmtspcl.ok: fmtspcl.tok Makefile
-       @$(AWK) -v "sd=$(srcdir)" 'BEGIN {pnan = sprintf("%g",sqrt(-1)); nnan = 
sprintf("%g",-sqrt(-1)); pinf = sprintf("%g",-log(0)); ninf = 
sprintf("%g",log(0))} {sub(/positive_nan/,pnan); sub(/negative_nan/,nnan); 
sub(/positive_infinity/,pinf); sub(/negative_infinity/,ninf); 
sub(/fmtspcl/,(sd"/fmtspcl")); print}' < $(srcdir)/fmtspcl.tok > $@ 2>/dev/null
+fmtspcl.ok: $(TESTDIR)/fmtspcl.tok Makefile
+       @$(AWK) -v "sd=$(TESTDIR)" 'BEGIN {pnan = sprintf("%g",sqrt(-1)); nnan 
= sprintf("%g",-sqrt(-1)); pinf = sprintf("%g",-log(0)); ninf = 
sprintf("%g",log(0))} {sub(/positive_nan/,pnan); sub(/negative_nan/,nnan); 
sub(/positive_infinity/,pinf); sub(/negative_infinity/,ninf); 
sub(/fmtspcl/,(sd"/fmtspcl")); print}' < $(TESTDIR)/fmtspcl.tok > $@ 2>/dev/null
 
 fmtspcl: fmtspcl.ok
        @echo $@
-       @$(AWK) -f $(srcdir)/fmtspcl.awk  --lint >_$@ 2>&1 || echo EXIT CODE: 
$$? >>_$@
+       @$(AWK) -f $(TESTDIR)/fmtspcl.awk  --lint >_$@ 2>&1 || echo EXIT CODE: 
$$? >>_$@
        @-if test -z "$$AWKFLAGS" ; then $(CMP) address@hidden _$@ && rm -f _$@ 
; else \
-       $(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@ ; \
+       $(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@ ; \
        fi
 
 reint::
        @echo $@
-       @$(AWK) --re-interval -f $(srcdir)/reint.awk $(srcdir)/reint.in >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) --re-interval -f $(TESTDIR)/reint.awk $(TESTDIR)/reint.in >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 pipeio1::
        @echo $@
-       @$(AWK) -f $(srcdir)/pipeio1.awk >_$@
+       @$(AWK) -f $(TESTDIR)/pipeio1.awk >_$@
        @rm -f test1 test2
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 pipeio2::
        @echo $@
-       @$(AWK) -v SRCDIR=$(srcdir) -f $(srcdir)/pipeio2.awk >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -v SRCDIR=$(TESTDIR) -f $(TESTDIR)/pipeio2.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 clobber::
        @echo $@
-       @$(AWK) -f $(srcdir)/clobber.awk >_$@
-       @-$(CMP) $(srcdir)/clobber.ok seq && $(CMP) $(srcdir)/clobber.ok _$@ && 
rm -f _$@
+       @$(AWK) -f $(TESTDIR)/clobber.awk >_$@
+       @-$(CMP) $(TESTDIR)/clobber.ok seq && $(CMP) $(TESTDIR)/clobber.ok _$@ 
&& rm -f _$@
        @rm -f seq
 
 arynocls::
        @echo $@
-       @-AWKPATH=$(srcdir) $(AWK) -v INPUT=$(srcdir)/arynocls.in -f 
arynocls.awk >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-AWKPATH=$(TESTDIR) $(AWK) -v INPUT=$(TESTDIR)/arynocls.in -f 
arynocls.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 getlnbuf::
        @echo $@
-       @-AWKPATH=$(srcdir) $(AWK) -f getlnbuf.awk $(srcdir)/getlnbuf.in > _$@
-       @-AWKPATH=$(srcdir) $(AWK) -f gtlnbufv.awk $(srcdir)/getlnbuf.in > _2$@
-       @-$(CMP) $(srcdir)/getlnbuf.ok _$@ && $(CMP) $(srcdir)/getlnbuf.ok _2$@ 
&& rm -f _$@ _2$@
+       @-AWKPATH=$(TESTDIR) $(AWK) -f getlnbuf.awk $(TESTDIR)/getlnbuf.in > _$@
+       @-AWKPATH=$(TESTDIR) $(AWK) -f gtlnbufv.awk $(TESTDIR)/getlnbuf.in > 
_2$@
+       @-$(CMP) $(TESTDIR)/getlnbuf.ok _$@ && $(CMP) $(TESTDIR)/getlnbuf.ok 
_2$@ && rm -f _$@ _2$@
 
 inetmesg::
        @echo These tests only work if your system supports the services
@@ -1299,28 +1292,28 @@ inetdayt::
 
 redfilnm::
        @echo $@
-       @$(AWK) -f $(srcdir)/redfilnm.awk srcdir=$(srcdir) 
$(srcdir)/redfilnm.in >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -f $(TESTDIR)/redfilnm.awk srcdir=$(TESTDIR) 
$(TESTDIR)/redfilnm.in >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 leaddig::
        @echo $@
-       @$(AWK) -v x=2E  -f $(srcdir)/leaddig.awk >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -v x=2E  -f $(TESTDIR)/leaddig.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 gsubtst3::
        @echo $@
-       @$(AWK) --re-interval -f $(srcdir)/address@hidden 
$(srcdir)/address@hidden >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) --re-interval -f $(TESTDIR)/address@hidden 
$(TESTDIR)/address@hidden >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 space::
        @echo $@
-       @$(AWK) -f ' ' $(srcdir)/space.awk >_$@ 2>&1 || echo EXIT CODE: $$? 
>>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -f ' ' $(TESTDIR)/space.awk >_$@ 2>&1 || echo EXIT CODE: $$? 
>>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 printf0::
        @echo $@
-       @$(AWK) --posix -f $(srcdir)/address@hidden >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) --posix -f $(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 rsnulbig::
        @echo $@
@@ -1328,7 +1321,7 @@ rsnulbig::
        @$(AWK) 'BEGIN { for (i = 1; i <= 128*64+1; i++) print 
"abcdefgh123456\n" }' 2>&1 | \
        $(AWK) 'BEGIN { RS = ""; ORS = "\n\n" }; { print }' 2>&1 | \
        $(AWK) '/^[^a]/; END{ print NR }' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 rsnulbig2::
        @echo $@
@@ -1336,298 +1329,293 @@ rsnulbig2::
                for (i = 1; i <= 128; i++) print n; print "abc\n" }' 2>&1 | \
                $(AWK) 'BEGIN { RS = ""; ORS = "\n\n" };{ print }' 2>&1 | \
                $(AWK) '/^[^a]/; END { print NR }' >_$@ 2>&1 || echo EXIT CODE: 
$$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 wideidx::
        @echo $@
        @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
-       AWKPATH=$(srcdir) $(AWK) -f address@hidden  < $(srcdir)/address@hidden 
>_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 wideidx2::
        @echo $@
        @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
-       AWKPATH=$(srcdir) $(AWK) -f address@hidden >_$@ 2>&1 || echo EXIT CODE: 
$$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 widesub::
        @echo $@
        @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
-       AWKPATH=$(srcdir) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 widesub2::
        @echo $@
        @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
-       AWKPATH=$(srcdir) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 widesub3::
        @echo $@
        @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
-       AWKPATH=$(srcdir) $(AWK) -f address@hidden  < $(srcdir)/address@hidden 
>_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 widesub4::
        @echo $@
        @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
-       AWKPATH=$(srcdir) $(AWK) -f address@hidden >_$@ 2>&1 || echo EXIT CODE: 
$$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 ignrcas2::
        @echo $@
        @GAWKLOCALE=en_US ; export GAWKLOCALE ; \
-       $(AWK) -f $(srcdir)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >> 
_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       $(AWK) -f $(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >> 
_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 subamp::
        @echo $@
        @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
-       $(AWK) -f $(srcdir)/address@hidden $(srcdir)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       $(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 # This test makes sure gawk exits with a zero code.
 # Thus, unconditionally generate the exit code.
 exitval1::
        @echo $@
-       @$(AWK) -f $(srcdir)/exitval1.awk >_$@ 2>&1; echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -f $(TESTDIR)/exitval1.awk >_$@ 2>&1; echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 fsspcoln::
        @echo $@
-       @$(AWK) -f $(srcdir)/address@hidden 'FS=[ :]+' $(srcdir)/address@hidden 
>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -f $(TESTDIR)/address@hidden 'FS=[ :]+' 
$(TESTDIR)/address@hidden >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 rsstart1::
        @echo $@
-       @$(AWK) -f $(srcdir)/address@hidden $(srcdir)/rsstart1.in >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/rsstart1.in >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 rsstart2::
        @echo $@
-       @$(AWK) -f $(srcdir)/address@hidden $(srcdir)/rsstart1.in >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/rsstart1.in >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 rsstart3::
        @echo $@
-       @head $(srcdir)/rsstart1.in | $(AWK) -f $(srcdir)/rsstart2.awk >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @head $(TESTDIR)/rsstart1.in | $(AWK) -f $(TESTDIR)/rsstart2.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 rtlen::
        @echo $@
-       @$(srcdir)/address@hidden >_$@ || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden >_$@ || echo EXIT CODE: 
$$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 rtlen01::
        @echo $@
-       @$(srcdir)/address@hidden >_$@ || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden >_$@ || echo EXIT CODE: 
$$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 rtlenmb::
        @echo $@
        @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
-       $(srcdir)/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/rtlen.ok _$@ && rm -f _$@
+       AWK=$(AWKPROG) $(TESTDIR)/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/rtlen.ok _$@ && rm -f _$@
 
 nondec2::
        @echo $@
-       @$(AWK) --non-decimal-data -v a=0x1 -f $(srcdir)/address@hidden >_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) --non-decimal-data -v a=0x1 -f $(TESTDIR)/address@hidden >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 nofile::
        @echo $@
        @$(AWK) '{}' no/such/file >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 binmode1::
        @echo $@
        @$(AWK) -v BINMODE=3 'BEGIN { print BINMODE }' >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 subi18n::
        @echo $@
-       @GAWKLOCALE=en_US.UTF-8 ; $(AWK) -f $(srcdir)/address@hidden > _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @GAWKLOCALE=en_US.UTF-8 ; $(AWK) -f $(TESTDIR)/address@hidden > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 concat4::
        @echo $@
-       @GAWKLOCALE=en_US.UTF-8 ; $(AWK) -f $(srcdir)/address@hidden 
$(srcdir)/address@hidden > _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @GAWKLOCALE=en_US.UTF-8 ; $(AWK) -f $(TESTDIR)/address@hidden 
$(TESTDIR)/address@hidden > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 devfd1::
        @echo $@
-       @$(AWK) -f $(srcdir)/address@hidden 4< $(srcdir)/devfd.in1 5< 
$(srcdir)/devfd.in2 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -f $(TESTDIR)/address@hidden 4< $(TESTDIR)/devfd.in1 5< 
$(TESTDIR)/devfd.in2 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 # The program text is the '1' which will print each record. How compact can 
you get?
 devfd2::
        @echo $@
-       @$(AWK) 1 /dev/fd/4 /dev/fd/5 4< $(srcdir)/devfd.in1 5< 
$(srcdir)/devfd.in2 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) 1 /dev/fd/4 /dev/fd/5 4< $(TESTDIR)/devfd.in1 5< 
$(TESTDIR)/devfd.in2 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mixed1::
        @echo $@
        @$(AWK) -f /dev/null --source 'BEGIN {return junk}' >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mtchi18n::
        @echo $@
        @GAWKLOCALE=ru_RU.UTF-8 ; export GAWKLOCALE ; \
-       $(AWK) -f $(srcdir)/address@hidden $(srcdir)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       $(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 reint2::
        @echo $@
        @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
-       AWKPATH=$(srcdir) $(AWK) --re-interval -f address@hidden 
$(srcdir)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       AWKPATH=$(TESTDIR) $(AWK) --re-interval -f address@hidden 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 localenl::
        @echo $@
-       @$(srcdir)/address@hidden >_$@ 2>/dev/null
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden >_$@ 2>/dev/null
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mbprintf1::
        @echo $@
        @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
-       $(AWK) -f $(srcdir)/address@hidden $(srcdir)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       $(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mbprintf2::
        @echo $@
        @GAWKLOCALE=ja_JP.UTF-8 ; export GAWKLOCALE ; \
-       $(AWK) -f $(srcdir)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >> 
_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       $(AWK) -f $(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >> 
_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mbprintf3::
        @echo $@
        @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
-       $(AWK) -f $(srcdir)/address@hidden $(srcdir)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       $(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mbfw1::
        @echo $@
        @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
-       $(AWK) -f $(srcdir)/address@hidden $(srcdir)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       $(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 gsubtst6::
        @echo $@
-       @GAWKLOCALE=C ; $(AWK) -f $(srcdir)/address@hidden > _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @GAWKLOCALE=C ; $(AWK) -f $(TESTDIR)/address@hidden > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mbstr1::
        @echo $@
        @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
-       AWKPATH=$(srcdir) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
-printfbad2: printfbad2.ok
+printfbad2: $(TESTDIR)/printfbad2.ok
        @echo $@
-       @$(AWK) --lint -f $(srcdir)/address@hidden $(srcdir)/address@hidden 
2>&1 | sed 's;\$(srcdir)/;;g' >_$@ || echo EXIT CODE: $$?  >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) --lint -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden 
2>&1 | sed 's;\$(TESTDIR)/;;g' >_$@ || echo EXIT CODE: $$?  >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 beginfile1::
        @echo $@
-       @AWKPATH=$(srcdir) $(AWK) -f address@hidden $(srcdir)/address@hidden . 
./no/such/file Makefile  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
-
-beginfile2:
-       @echo $@
-       @-( cd $(srcdir) && LC_ALL=C AWK="$(abs_builddir)/$(AWKPROG)" 
$(abs_srcdir)/address@hidden $(abs_srcdir)/address@hidden ) > _$@ 2>&1
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden $(TESTDIR)/address@hidden 
. ./no/such/file Makefile  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 dumpvars::
        @echo $@
-       @AWKPATH=$(srcdir) $(AWK) --dump-variables 1 < $(srcdir)/address@hidden 
>/dev/null 2>&1 || echo EXIT CODE: $$? >>_$@
+       @AWKPATH=$(TESTDIR) $(AWK) --dump-variables 1 < 
$(TESTDIR)/address@hidden >/dev/null 2>&1 || echo EXIT CODE: $$? >>_$@
        @mv awkvars.out _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 profile1:
        @echo $@
-       @$(AWK) address@hidden -f $(srcdir)/xref.awk $(srcdir)/dtdgport.awk > 
address@hidden
-       @$(AWK) -f address@hidden $(srcdir)/dtdgport.awk > address@hidden ; rm 
address@hidden
+       @$(AWK) address@hidden -f $(TESTDIR)/xref.awk $(TESTDIR)/dtdgport.awk > 
address@hidden
+       @$(AWK) -f address@hidden $(TESTDIR)/dtdgport.awk > address@hidden ; rm 
address@hidden
        @cmp address@hidden address@hidden && rm address@hidden || echo EXIT 
CODE: $$? >>_$@
 
 profile2:
        @echo $@
-       @$(AWK) address@hidden -v sortcmd=sort -f $(srcdir)/xref.awk 
$(srcdir)/dtdgport.awk > /dev/null
+       @$(AWK) address@hidden -v sortcmd=sort -f $(TESTDIR)/xref.awk 
$(TESTDIR)/dtdgport.awk > /dev/null
        @sed 1,2d < address@hidden > _$@; rm address@hidden
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 profile3:
        @echo $@
-       @$(AWK) address@hidden -f $(srcdir)/address@hidden > /dev/null
+       @$(AWK) address@hidden -f $(TESTDIR)/address@hidden > /dev/null
        @sed 1,2d < address@hidden > _$@; rm address@hidden
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 posix2008sub:
        @echo $@
-       @$(AWK) --posix -f $(srcdir)/address@hidden > _$@ 2>&1
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) --posix -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 next:
        @echo $@
-       @-AWK="$(AWKPROG)" $(srcdir)/address@hidden > _$@ 2>&1
-       @-LC_ALL=C $(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-LC_ALL=C $(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 exit:
        @echo $@
-       @-AWK="$(AWKPROG)" $(srcdir)/address@hidden > _$@ 2>&1
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 rri1::
        @echo $@
        @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
-       AWKPATH=$(srcdir) $(AWK) -f address@hidden  < $(srcdir)/address@hidden 
>_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 rand:
        @echo $@
-       @AWKPATH=$(srcdir) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
-       @-if test -z "$$AWKFLAGS" ; then $(CMP) $(srcdir)/address@hidden _$@ && 
rm -f _$@ ; else \
-       ($(CMP) $(srcdir)/address@hidden _$@ || $(CMP) $(srcdir)/address@hidden 
_$@) && rm -f _$@ ; \
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-if test -z "$$AWKFLAGS" ; then $(CMP) $(TESTDIR)/address@hidden _$@ 
&& rm -f _$@ ; else \
+       ($(CMP) $(TESTDIR)/address@hidden _$@ || $(CMP) 
$(TESTDIR)/address@hidden _$@) && rm -f _$@ ; \
        fi
 
 mpfrieee:
        @echo $@
-       @$(AWK) -M -vPREC=double -f $(srcdir)/address@hidden > _$@ 2>&1
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -M -vPREC=double -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mpfrexprange:
        @echo $@
-       @$(AWK) -M -vPREC=53 -f $(srcdir)/address@hidden > _$@ 2>&1
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -M -vPREC=53 -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mpfrrnd:
        @echo $@
-       @$(AWK) -M -vPREC=53 -f $(srcdir)/address@hidden > _$@ 2>&1
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -M -vPREC=53 -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mpfrnr:
        @echo $@
-       @$(AWK) -M -vPREC=113 -f $(srcdir)/address@hidden 
$(srcdir)/address@hidden > _$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -M -vPREC=113 -f $(TESTDIR)/address@hidden 
$(TESTDIR)/address@hidden > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mpfrsort:
        @echo $@
-       @$(AWK) -M -vPREC=53 -f $(srcdir)/address@hidden > _$@ 2>&1
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -M -vPREC=53 -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 mpfrbigint:
        @echo $@
-       @$(AWK) -M -f $(srcdir)/address@hidden > _$@ 2>&1
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(AWK) -M -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 jarebug::
        @echo $@
-       @$(srcdir)/address@hidden "$(AWKPROG)" "$(srcdir)/address@hidden" 
"$(srcdir)/address@hidden" "_$@"
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @$(TESTDIR)/address@hidden "$(AWKPROG)" "$(TESTDIR)/address@hidden" 
"$(TESTDIR)/address@hidden" "_$@"
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 ordchr2::
        @echo $@
        @$(AWK) -l ordchr 'BEGIN {print chr(ord("z"))}' >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 # N.B. If the test fails, create readfile.ok so that "make diffout" will work
 readfile::
@@ -1637,86 +1625,80 @@ readfile::
 
 include2::
        @echo $@
-       @AWKPATH=$(srcdir) $(AWK) -i inclib 'BEGIN {print sandwich("a", "b", 
"c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @AWKPATH=$(TESTDIR) $(AWK) -i inclib 'BEGIN {print sandwich("a", "b", 
"c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 incdupe::
        @echo $@
-       @AWKPATH=$(srcdir) $(AWK) --lint -i inclib -i inclib.awk 'BEGIN {print 
sandwich("a", "b", "c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -i inclib -i inclib.awk 'BEGIN {print 
sandwich("a", "b", "c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 incdupe2::
        @echo $@
-       @AWKPATH=$(srcdir) $(AWK) --lint -f inclib -f inclib.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -f inclib -f inclib.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 incdupe3::
        @echo $@
-       @AWKPATH=$(srcdir) $(AWK) --lint -f hello -f hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -f hello -f hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 incdupe4::
        @echo $@
-       @AWKPATH=$(srcdir) $(AWK) --lint -f hello -i hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -f hello -i hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 incdupe5::
        @echo $@
-       @AWKPATH=$(srcdir) $(AWK) --lint -i hello -f hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -i hello -f hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 incdupe6::
        @echo $@
-       @AWKPATH=$(srcdir) $(AWK) --lint -i inchello -f hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -i inchello -f hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 incdupe7::
        @echo $@
-       @AWKPATH=$(srcdir) $(AWK) --lint -f hello -i inchello >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -f hello -i inchello >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 testext::
        @echo $@
        @$(AWK) '/^(@load|BEGIN)/,/^}/' $(top_srcdir)/extension/testext.c > 
testext.awk
        @$(AWK) -f testext.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@ testext.awk
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@ testext.awk
 
 readdir:
        @echo This test can fail on some filesystems.
        @echo $@
-       @ls -fli $(top_srcdir) | sed 1d | $(AWK) -f $(srcdir)/readdir0.awk > 
address@hidden
-       @$(AWK) -f $(srcdir)/readdir.awk $(top_srcdir) > _$@
+       @ls -fli $(top_srcdir) | sed 1d | $(AWK) -f $(TESTDIR)/readdir0.awk > 
address@hidden
+       @$(AWK) -f $(TESTDIR)/readdir.awk $(top_srcdir) > _$@
        @-$(CMP) address@hidden _$@ && rm -f address@hidden _$@
 
 fts:
        @echo $@
-       @$(AWK) -f $(srcdir)/fts.awk
+       @$(AWK) -f $(TESTDIR)/fts.awk
        @-$(CMP) address@hidden _$@ && rm -f address@hidden _$@
 
 charasbytes:
        @echo $@
        @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
-       AWKPATH=$(srcdir) $(AWK) -b -f address@hidden $(srcdir)/address@hidden 
| \
+       AWKPATH=$(TESTDIR) $(AWK) -b -f address@hidden 
$(TESTDIR)/address@hidden | \
        od -c -t x1 | sed -e 's/  */ /g' -e 's/ *$$//' >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 symtab6:
        @echo $@
-       @$(AWK) -d__$@ -f $(srcdir)/address@hidden
+       @$(AWK) -d__$@ -f $(TESTDIR)/address@hidden
        @grep -v '^ENVIRON' __$@ | grep -v '^PROCINFO' > _$@ ; rm __$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
-
-symtab8:
-       @echo $@
-       @$(AWK) -d__$@ -f $(srcdir)/address@hidden $(srcdir)/address@hidden >_$@
-       @grep -v '^ENVIRON' __$@ | grep -v '^PROCINFO' >> _$@ ; rm __$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
 
 # Targets generated for other tests:
 include Maketests
 
 $(srcdir)/Maketests: $(srcdir)/Makefile.am $(srcdir)/Gentests
-       files=`cd "$(srcdir)" && echo *.awk *.in`; \
+       files=`cd "$(TESTDIR)" && echo *.awk *.in`; \
        $(AWK) -f $(srcdir)/Gentests "$(srcdir)/Makefile.am" $$files > 
$(srcdir)/Maketests
 
 clean:
diff --git a/misc/ldbl_tests/Makefile.in b/misc/ldbl_tests/Makefile.in
new file mode 100644
index 0000000..4294e79
--- /dev/null
+++ b/misc/ldbl_tests/Makefile.in
@@ -0,0 +1,3439 @@
+# Makefile.in generated by automake 1.12.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
address@hidden@
+
+#
+# test/Makefile.am --- automake input file for gawk
+#
+# Copyright (C) 1988-2012 the Free Software Foundation, Inc.
+#
+# This file is part of GAWK, the GNU implementation of the
+# AWK Programming Language.
+#
+# GAWK is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# GAWK is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
USA
+#
+VPATH = @srcdir@
+am__make_dryrun = \
+  { \
+    am__dry=no; \
+    case $$MAKEFLAGS in \
+      *\\[\ \  ]*) \
+        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
+          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
+      *) \
+        for am__flg in $$MAKEFLAGS; do \
+          case $$am__flg in \
+            *=*|--*) ;; \
+            *n*) am__dry=yes; break;; \
+          esac; \
+        done;; \
+    esac; \
+    test $$am__dry = yes; \
+  }
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_triplet = @build@
+host_triplet = @host@
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
+       $(srcdir)/Maketests $(top_srcdir)/mkinstalldirs
+subdir = misc/ldbl_tests
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/m4/arch.m4 \
+       $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gettext.m4 \
+       $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
+       $(top_srcdir)/m4/isc-posix.m4 $(top_srcdir)/m4/lcmessage.m4 \
+       $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
+       $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libsigsegv.m4 \
+       $(top_srcdir)/m4/long_double.m4 $(top_srcdir)/m4/longlong.m4 \
+       $(top_srcdir)/m4/mpfr.m4 $(top_srcdir)/m4/nls.m4 \
+       $(top_srcdir)/m4/noreturn.m4 $(top_srcdir)/m4/po.m4 \
+       $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readline.m4 \
+       $(top_srcdir)/m4/socket.m4 $(top_srcdir)/m4/ulonglong.m4 \
+       $(top_srcdir)/configure.ac
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+       $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+am__can_run_installinfo = \
+  case $$AM_UPDATE_INFO_DIR in \
+    n|no|NO) false;; \
+    *) (install-info --version) >/dev/null 2>&1;; \
+  esac
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+
+# This business forces the locale to be C for running the tests,
+# unless we override it to something else for testing.
+#
+# This can also be done in individual tests where we wish to
+# check things specifically not in the C locale.
+
+#
+# And we set AWKLIBPATH to find the extension libraries we built.
+AWK = LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} $(AWKPROG)
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GAWKLIBEXT = @GAWKLIBEXT@
+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
+GMSGFMT = @GMSGFMT@
+GMSGFMT_015 = @GMSGFMT_015@
+GREP = @GREP@
+HAVE_LIBSIGSEGV = @HAVE_LIBSIGSEGV@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INTLLIBS = @INTLLIBS@
+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
+LDFLAGS = @LDFLAGS@
+LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
+LIBMPFR = @LIBMPFR@
+LIBOBJS = @LIBOBJS@
+LIBREADLINE = @LIBREADLINE@
+LIBS = @LIBS@
+LIBSIGSEGV = @LIBSIGSEGV@
+LIBSIGSEGV_PREFIX = @LIBSIGSEGV_PREFIX@
+LN_S = @LN_S@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
+LTLIBOBJS = @LTLIBOBJS@
+LTLIBSIGSEGV = @LTLIBSIGSEGV@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MSGFMT = @MSGFMT@
+MSGFMT_015 = @MSGFMT_015@
+MSGMERGE = @MSGMERGE@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+POSUB = @POSUB@
+PRINTF_HAS_LF_FORMAT = @PRINTF_HAS_LF_FORMAT@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+SOCKET_LIBS = @SOCKET_LIBS@
+STRIP = @STRIP@
+USE_LONG_DOUBLE = @USE_LONG_DOUBLE@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+XGETTEXT = @XGETTEXT@
+XGETTEXT_015 = @XGETTEXT_015@
+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
+YACC = @YACC@
+YFLAGS = @YFLAGS@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+acl_shlibext = @acl_shlibext@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build = @build@
+build_alias = @build_alias@
+build_cpu = @build_cpu@
+build_os = @build_os@
+build_vendor = @build_vendor@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host = @host@
+host_alias = @host_alias@
+host_cpu = @host_cpu@
+host_os = @host_os@
+host_vendor = @host_vendor@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+pkgextensiondir = @pkgextensiondir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+subdirs = @subdirs@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+EXTRA_DIST = \
+       reg \
+       lib \
+       ChangeLog.0 \
+       Gentests \
+       Gentests.vms \
+       Maketests \
+       README \
+       aadelete1.awk \
+       aadelete1.ok \
+       aadelete2.awk \
+       aadelete2.ok \
+       aarray1.awk \
+       aarray1.ok \
+       aasort.awk \
+       aasort.ok \
+       aasorti.awk \
+       aasorti.ok \
+       addcomma.awk \
+       addcomma.in \
+       addcomma.ok \
+       anchgsub.awk \
+       anchgsub.in \
+       anchgsub.ok \
+       argarray.awk \
+       argarray.in \
+       argarray.ok \
+       argtest.awk \
+       argtest.ok \
+       arrayparm.awk \
+       arrayparm.ok \
+       arrayprm2.awk \
+       arrayprm2.ok \
+       arrayprm3.awk \
+       arrayprm3.ok \
+       arrayref.awk \
+       arrayref.ok \
+       arraysort.awk \
+       arraysort.ok \
+       arrymem1.awk \
+       arrymem1.ok \
+       arryref2.awk \
+       arryref2.ok \
+       arryref3.awk \
+       arryref3.ok \
+       arryref4.awk \
+       arryref4.ok \
+       arryref5.awk \
+       arryref5.ok \
+       arynasty.awk \
+       arynasty.ok \
+       arynocls.awk \
+       arynocls.in \
+       arynocls.ok \
+       aryprm1.awk \
+       aryprm1.ok \
+       aryprm2.awk \
+       aryprm2.ok \
+       aryprm3.awk \
+       aryprm3.ok \
+       aryprm4.awk \
+       aryprm4.ok \
+       aryprm5.awk \
+       aryprm5.ok \
+       aryprm6.awk \
+       aryprm6.ok \
+       aryprm7.awk \
+       aryprm7.ok \
+       aryprm8.awk \
+       aryprm8.ok \
+       arysubnm.awk \
+       arysubnm.ok \
+       asgext.awk \
+       asgext.in \
+       asgext.ok \
+       asort.awk \
+       asort.ok \
+       asorti.awk \
+       asorti.ok \
+       awkpath.ok \
+       back89.awk \
+       back89.in \
+       back89.ok \
+       backgsub.awk \
+       backgsub.in \
+       backgsub.ok \
+       backw.awk \
+       backw.in \
+       backw.ok \
+       badargs.ok \
+       beginfile1.awk \
+       beginfile1.ok \
+       beginfile2.in \
+       beginfile2.ok \
+       beginfile2.sh \
+       binmode1.ok \
+       charasbytes.awk \
+       charasbytes.in \
+       charasbytes.ok \
+       childin.awk \
+       childin.in \
+       childin.ok \
+       clobber.awk \
+       clobber.ok \
+       clos1way.awk \
+       clos1way.ok \
+       closebad.awk \
+       closebad.ok \
+       clsflnam.awk \
+       clsflnam.in \
+       clsflnam.ok \
+       compare.awk \
+       compare.in \
+       compare.ok \
+       compare2.awk \
+       compare2.ok \
+       concat1.awk \
+       concat1.in \
+       concat1.ok \
+       concat2.awk \
+       concat2.ok \
+       concat3.awk \
+       concat3.ok \
+       concat4.awk \
+       concat4.in \
+       concat4.ok \
+       convfmt.awk \
+       convfmt.ok \
+       datanonl.awk \
+       datanonl.in \
+       datanonl.ok \
+       defref.awk \
+       defref.ok \
+       delargv.awk \
+       delargv.ok \
+       delarpm2.awk \
+       delarpm2.ok \
+       delarprm.awk \
+       delarprm.ok \
+       delfunc.awk \
+       delfunc.ok \
+       delsub.awk \
+       delsub.ok \
+       devfd.in1 \
+       devfd.in2 \
+       devfd.in4 \
+       devfd.in5 \
+       devfd.ok \
+       devfd1.awk \
+       devfd1.ok \
+       devfd2.ok \
+       dfastress.awk \
+       dfastress.ok \
+       double1.awk \
+       double1.ok \
+       double2.awk \
+       double2.ok \
+       dtdgport.awk \
+       dumpvars.in \
+       dumpvars.ok \
+       dynlj.awk \
+       dynlj.ok \
+       eofsplit.awk \
+       eofsplit.ok \
+       exit.ok \
+       exit.sh \
+       exitval1.awk \
+       exitval1.ok \
+       exitval2.awk \
+       exitval2.ok \
+       exitval2.w32 \
+       fcall_exit.awk \
+       fcall_exit.ok \
+       fcall_exit2.awk \
+       fcall_exit2.in \
+       fcall_exit2.ok \
+       fflush.ok \
+       fflush.sh \
+       fieldwdth.awk \
+       fieldwdth.in \
+       fieldwdth.ok \
+       filefuncs.awk \
+       filefuncs.ok \
+       fldchg.awk \
+       fldchg.in \
+       fldchg.ok \
+       fldchgnf.awk \
+       fldchgnf.in \
+       fldchgnf.ok \
+       fmtspcl-mpfr.ok \
+       fmtspcl.awk \
+       fmtspcl.tok \
+       fmttest.awk \
+       fmttest.ok \
+       fnamedat.awk \
+       fnamedat.in \
+       fnamedat.ok \
+       fnarray.awk \
+       fnarray.ok \
+       fnarray2.awk \
+       fnarray2.in \
+       fnarray2.ok \
+       fnarydel-mpfr.ok \
+       fnarydel.awk \
+       fnarydel.ok \
+       fnaryscl.awk \
+       fnaryscl.ok \
+       fnasgnm.awk \
+       fnasgnm.in \
+       fnasgnm.ok \
+       fnmatch.awk \
+       fnmatch.ok \
+       fnmisc.awk \
+       fnmisc.ok \
+       fnparydl-mpfr.ok \
+       fnparydl.awk \
+       fnparydl.ok \
+       fordel.awk \
+       fordel.ok \
+       fork.awk \
+       fork.ok \
+       fork2.awk \
+       fork2.ok \
+       forref.awk \
+       forref.ok \
+       forsimp.awk \
+       forsimp.ok \
+       fpat1.awk \
+       fpat1.in \
+       fpat1.ok \
+       fpat2.awk \
+       fpat2.ok \
+       fpat3.awk \
+       fpat3.in \
+       fpat3.ok \
+       fpatnull.awk \
+       fpatnull.in \
+       fpatnull.ok \
+       fsbs.awk \
+       fsbs.in \
+       fsbs.ok \
+       fsfwfs.awk \
+       fsfwfs.in \
+       fsfwfs.ok \
+       fsrs.awk \
+       fsrs.in \
+       fsrs.ok \
+       fsspcoln.awk \
+       fsspcoln.in \
+       fsspcoln.ok \
+       fstabplus.awk \
+       fstabplus.in \
+       fstabplus.ok \
+       fts.awk \
+       functab1.awk \
+       functab1.ok \
+       functab2.awk \
+       functab2.ok \
+       functab3.awk \
+       functab3.ok \
+       funlen.awk \
+       funlen.in \
+       funlen.ok \
+       funsemnl.awk \
+       funsemnl.ok \
+       funsmnam.awk \
+       funsmnam.ok \
+       funstack.awk \
+       funstack.in \
+       funstack.ok \
+       fwtest.awk \
+       fwtest.in \
+       fwtest.ok \
+       fwtest2.awk \
+       fwtest2.in \
+       fwtest2.ok \
+       fwtest3.awk \
+       fwtest3.in \
+       fwtest3.ok \
+       gensub.awk \
+       gensub.in \
+       gensub.ok \
+       gensub2.awk \
+       gensub2.ok \
+       getline.awk \
+       getline.in \
+       getline.ok \
+       getline2.awk \
+       getline2.ok \
+       getline3.awk \
+       getline3.ok \
+       getline4.awk \
+       getline4.in \
+       getline4.ok \
+       getline5.awk \
+       getline5.ok \
+       getlnbuf.awk \
+       getlnbuf.in \
+       getlnbuf.ok \
+       getlndir.awk \
+       getlndir.ok \
+       getlnhd.awk \
+       getlnhd.ok \
+       getnr2tb.awk \
+       getnr2tb.in \
+       getnr2tb.ok \
+       getnr2tm.awk \
+       getnr2tm.in \
+       getnr2tm.ok \
+       gnuops2.awk \
+       gnuops2.ok \
+       gnuops3.awk \
+       gnuops3.ok \
+       gnureops.awk \
+       gnureops.ok \
+       gsubasgn.awk \
+       gsubasgn.ok \
+       gsubtest.awk \
+       gsubtest.ok \
+       gsubtst2.awk \
+       gsubtst2.ok \
+       gsubtst3.awk \
+       gsubtst3.in \
+       gsubtst3.ok \
+       gsubtst4.awk \
+       gsubtst4.ok \
+       gsubtst5.awk \
+       gsubtst5.in \
+       gsubtst5.ok \
+       gsubtst6.awk \
+       gsubtst6.ok \
+       gsubtst7.awk \
+       gsubtst7.in \
+       gsubtst7.ok \
+       gsubtst8.awk \
+       gsubtst8.in \
+       gsubtst8.ok \
+       gtlnbufv.awk \
+       hello.awk \
+       hex.awk \
+       hex.ok \
+       hsprint.awk \
+       hsprint.ok \
+       icasefs.awk \
+       icasefs.ok \
+       icasers.awk \
+       icasers.in \
+       icasers.ok \
+       id.awk \
+       id.ok \
+       igncdym.awk \
+       igncdym.in \
+       igncdym.ok \
+       igncfs.awk \
+       igncfs.in \
+       igncfs.ok \
+       ignrcas2.awk \
+       ignrcas2.ok \
+       ignrcase.awk \
+       ignrcase.in \
+       ignrcase.ok \
+       incdupe.ok \
+       incdupe2.ok \
+       incdupe3.ok \
+       incdupe4.ok \
+       incdupe5.ok \
+       incdupe6.ok \
+       incdupe7.ok \
+       inchello.awk \
+       inclib.awk \
+       include.awk \
+       include.ok \
+       include2.ok \
+       indirectcall.awk \
+       indirectcall.in \
+       indirectcall.ok \
+       inftest.awk \
+       inftest.ok \
+       inputred.awk \
+       inputred.ok \
+       intest.awk \
+       intest.ok \
+       intformat.awk \
+       intformat.ok \
+       intprec.awk \
+       intprec.ok \
+       iobug1.awk \
+       iobug1.ok \
+       jarebug.awk \
+       jarebug.in \
+       jarebug.ok \
+       jarebug.sh \
+       lc_num1.awk \
+       lc_num1.ok \
+       leaddig.awk \
+       leaddig.ok \
+       leadnl.awk \
+       leadnl.in \
+       leadnl.ok \
+       lint.awk \
+       lint.ok \
+       lintold.awk \
+       lintold.in \
+       lintold.ok \
+       lintwarn.awk \
+       lintwarn.ok \
+       litoct.awk \
+       litoct.ok \
+       localenl.ok \
+       localenl.sh \
+       longdbl.awk \
+       longdbl.in \
+       longdbl.ok \
+       longsub.awk \
+       longsub.in \
+       longsub.ok \
+       longwrds.awk \
+       longwrds.in \
+       longwrds.ok \
+       manglprm.awk \
+       manglprm.in \
+       manglprm.ok \
+       manyfiles.awk \
+       manyfiles.ok \
+       match1.awk \
+       match1.ok \
+       match2.awk \
+       match2.ok \
+       match3.awk \
+       match3.in \
+       match3.ok \
+       math.awk \
+       math.ok \
+       mbfw1.awk \
+       mbfw1.in \
+       mbfw1.ok \
+       mbprintf1.awk \
+       mbprintf1.in \
+       mbprintf1.ok \
+       mbprintf2.awk \
+       mbprintf2.ok \
+       mbprintf3.awk \
+       mbprintf3.in \
+       mbprintf3.ok \
+       mbstr1.awk \
+       mbstr1.ok \
+       membug1.awk \
+       membug1.in \
+       membug1.ok \
+       messages.awk \
+       minusstr.awk \
+       minusstr.ok \
+       mixed1.ok \
+       mmap8k.in \
+       mtchi18n.awk \
+       mtchi18n.in \
+       mtchi18n.ok \
+       nasty.awk \
+       nasty.ok \
+       nasty2.awk \
+       nasty2.ok \
+       nastyparm.awk \
+       nastyparm.ok \
+       negexp.awk \
+       negexp.ok \
+       negrange.awk \
+       negrange.ok \
+       nested.awk \
+       nested.in \
+       nested.ok \
+       next.ok \
+       next.sh \
+       nfldstr.awk \
+       nfldstr.in \
+       nfldstr.ok \
+       nfneg.awk \
+       nfneg.ok \
+       nfset.awk \
+       nfset.in \
+       nfset.ok \
+       nlfldsep.awk \
+       nlfldsep.in \
+       nlfldsep.ok \
+       nlinstr.awk \
+       nlinstr.in \
+       nlinstr.ok \
+       nlstrina.awk \
+       nlstrina.ok \
+       noeffect.awk \
+       noeffect.ok \
+       nofile.ok \
+       nofmtch.awk \
+       nofmtch.ok \
+       noloop1.awk \
+       noloop1.in \
+       noloop1.ok \
+       noloop2.awk \
+       noloop2.in \
+       noloop2.ok \
+       nondec.awk \
+       nondec.ok \
+       nondec2.awk \
+       nondec2.ok \
+       nonl.awk \
+       nonl.ok \
+       noparms.awk \
+       noparms.ok \
+       nors.in \
+       nors.ok \
+       nulrsend.awk \
+       nulrsend.in \
+       nulrsend.ok \
+       numindex.awk \
+       numindex.in \
+       numindex.ok \
+       numsubstr.awk \
+       numsubstr.in \
+       numsubstr.ok \
+       octsub.awk \
+       octsub.ok \
+       ofmt.awk \
+       ofmt.in \
+       ofmt.ok \
+       ofmta.awk \
+       ofmta.ok \
+       ofmtbig.awk \
+       ofmtbig.in \
+       ofmtbig.ok \
+       ofmtfidl.awk \
+       ofmtfidl.in \
+       ofmtfidl.ok \
+       ofmts.awk \
+       ofmts.in \
+       ofmts.ok \
+       ofs1.awk \
+       ofs1.in \
+       ofs1.ok \
+       onlynl.awk \
+       onlynl.in \
+       onlynl.ok \
+       opasnidx.awk \
+       opasnidx.ok \
+       opasnslf.awk \
+       opasnslf.ok \
+       ordchr.awk \
+       ordchr.ok \
+       ordchr2.ok \
+       out1.ok \
+       out2.ok \
+       out3.ok \
+       paramdup.awk \
+       paramdup.ok \
+       paramres.awk \
+       paramres.ok \
+       paramtyp.awk \
+       paramtyp.ok \
+       paramuninitglobal.awk \
+       paramuninitglobal.ok \
+       parse1.awk \
+       parse1.in \
+       parse1.ok \
+       parsefld.awk \
+       parsefld.in \
+       parsefld.ok \
+       parseme.awk \
+       parseme.ok \
+       patsplit.awk \
+       patsplit.ok \
+       pcntplus.awk \
+       pcntplus.ok \
+       pid.awk \
+       pid.ok \
+       pid.sh \
+       pipeio1.awk \
+       pipeio1.ok \
+       pipeio2.awk \
+       pipeio2.in \
+       pipeio2.ok \
+       posix.awk \
+       posix.in \
+       posix.ok \
+       posix2008sub.awk \
+       posix2008sub.ok \
+       poundbang.awk \
+       prdupval.awk \
+       prdupval.in \
+       prdupval.ok \
+       prec.awk \
+       prec.ok \
+       printf0.awk \
+       printf0.ok \
+       printf1.awk \
+       printf1.ok \
+       printfbad1.awk \
+       printfbad1.ok \
+       printfbad2.awk \
+       printfbad2.in \
+       printfbad2.ok \
+       printfbad3.awk \
+       printfbad3.ok \
+       printfloat.awk \
+       printlang.awk \
+       prmarscl.awk \
+       prmarscl.ok \
+       prmreuse.awk \
+       prmreuse.ok \
+       procinfs.awk \
+       procinfs.ok \
+       profile2.ok \
+       profile3.awk \
+       profile3.ok \
+       prt1eval.awk \
+       prt1eval.ok \
+       prtoeval.awk \
+       prtoeval.ok \
+       pty1.awk \
+       pty1.ok \
+       rand-mpfr.ok \
+       rand.awk \
+       rand.ok \
+       range1.awk \
+       range1.in \
+       range1.ok \
+       readdir.awk \
+       readdir0.awk \
+       rebt8b1.awk \
+       rebt8b1.ok \
+       rebt8b2.awk \
+       rebt8b2.ok \
+       rebuf.awk \
+       rebuf.in \
+       rebuf.ok \
+       redfilnm.awk \
+       redfilnm.in \
+       redfilnm.ok \
+       regeq.awk \
+       regeq.in \
+       regeq.ok \
+       regexprange.awk \
+       regexprange.ok \
+       regrange.awk \
+       regrange.ok \
+       regtest.sh \
+       regx8bit.awk \
+       regx8bit.ok \
+       reindops.awk \
+       reindops.in \
+       reindops.ok \
+       reint.awk \
+       reint.in \
+       reint.ok \
+       reint2.awk \
+       reint2.in \
+       reint2.ok \
+       reparse.awk \
+       reparse.in \
+       reparse.ok \
+       resplit.awk \
+       resplit.in \
+       resplit.ok \
+       revout.awk \
+       revout.ok \
+       revtwoway.awk \
+       revtwoway.ok \
+       rri1.awk \
+       rri1.in \
+       rri1.ok \
+       rs.awk \
+       rs.in \
+       rs.ok \
+       rsnul1nl.awk \
+       rsnul1nl.in \
+       rsnul1nl.ok \
+       rsnulbig.ok \
+       rsnulbig2.ok \
+       rsstart1.awk \
+       rsstart1.in \
+       rsstart1.ok \
+       rsstart2.awk \
+       rsstart2.ok \
+       rsstart3.ok \
+       rstest1.awk \
+       rstest1.ok \
+       rstest2.awk \
+       rstest2.ok \
+       rstest3.awk \
+       rstest3.ok \
+       rstest4.awk \
+       rstest4.ok \
+       rstest5.awk \
+       rstest5.ok \
+       rstest6.awk \
+       rstest6.in \
+       rstest6.ok \
+       rswhite.awk \
+       rswhite.in \
+       rswhite.ok \
+       rtlen.ok \
+       rtlen.sh \
+       rtlen01.ok \
+       rtlen01.sh \
+       rwarray.awk \
+       rwarray.in \
+       rwarray.ok \
+       scalar.awk \
+       scalar.ok \
+       sclforin.awk \
+       sclforin.ok \
+       sclifin.awk \
+       sclifin.ok \
+       shadow.awk \
+       shadow.ok \
+       sort1.awk \
+       sort1.ok \
+       sortempty.awk \
+       sortempty.ok \
+       sortfor.awk \
+       sortfor.in \
+       sortfor.ok \
+       sortu.awk \
+       sortu.ok \
+       space.ok \
+       splitarg4.awk \
+       splitarg4.in \
+       splitarg4.ok \
+       splitargv.awk \
+       splitargv.in \
+       splitargv.ok \
+       splitarr.awk \
+       splitarr.ok \
+       splitdef.awk \
+       splitdef.ok \
+       splitvar.awk \
+       splitvar.in \
+       splitvar.ok \
+       splitwht.awk \
+       splitwht.ok \
+       sprintfc.awk \
+       sprintfc.in \
+       sprintfc.ok \
+       strcat1.awk \
+       strcat1.ok \
+       strftime.awk \
+       strftlng.awk \
+       strftlng.ok \
+       strnum1.awk \
+       strnum1.ok \
+       strtod.awk \
+       strtod.in \
+       strtod.ok \
+       strtonum.awk \
+       strtonum.ok \
+       subamp.awk \
+       subamp.in \
+       subamp.ok \
+       subi18n.awk \
+       subi18n.ok \
+       subsepnm.awk \
+       subsepnm.ok \
+       subslash.awk \
+       subslash.ok \
+       substr.awk \
+       substr.ok \
+       swaplns.awk \
+       swaplns.in \
+       swaplns.ok \
+       switch2.awk \
+       switch2.ok \
+       symtab1.awk \
+       symtab1.ok \
+       symtab2.awk \
+       symtab2.ok \
+       symtab3.awk \
+       symtab3.ok \
+       symtab4.awk \
+       symtab4.in \
+       symtab4.ok \
+       symtab5.awk \
+       symtab5.in \
+       symtab5.ok \
+       symtab6.awk \
+       symtab6.ok \
+       symtab7.awk \
+       symtab7.in \
+       symtab7.ok \
+       symtab8.awk \
+       symtab8.in \
+       symtab8.ok \
+       symtab9.awk \
+       symtab9.ok \
+       synerr1.awk \
+       synerr1.ok \
+       synerr2.awk \
+       synerr2.ok \
+       testext.ok \
+       tradanch.awk \
+       tradanch.in \
+       tradanch.ok \
+       tweakfld.awk \
+       tweakfld.in \
+       tweakfld.ok \
+       uninit2.awk \
+       uninit2.ok \
+       uninit3.awk \
+       uninit3.ok \
+       uninit4.awk \
+       uninit4.ok \
+       uninit5.awk \
+       uninit5.ok \
+       uninitialized.awk \
+       uninitialized.ok \
+       unterm.awk \
+       unterm.ok \
+       uparrfs.awk \
+       uparrfs.in \
+       uparrfs.ok \
+       wideidx.awk \
+       wideidx.in \
+       wideidx.ok \
+       wideidx2.awk \
+       wideidx2.ok \
+       widesub.awk \
+       widesub.ok \
+       widesub2.awk \
+       widesub2.ok \
+       widesub3.awk \
+       widesub3.in \
+       widesub3.ok \
+       widesub4.awk \
+       widesub4.ok \
+       wjposer1.awk \
+       wjposer1.in \
+       wjposer1.ok \
+       xref.awk \
+       xref.original \
+       zero2.awk \
+       zero2.ok \
+       zeroe0.awk \
+       zeroe0.ok \
+       zeroflag.awk \
+       zeroflag.ok
+
+TESTDIR = ../../test
+TESTS_WE_ARE_NOT_DOING_YET_FIXME_ONE_DAY = longdbl
+
+# Get rid of core files when cleaning and generated .ok file
+CLEANFILES = core core.* fmtspcl.ok
+
+# try to keep these sorted. each letter starts a new line
+BASIC_TESTS = \
+       addcomma anchgsub argarray arrayparm arrayprm2 arrayprm3 \
+       arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \
+       arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
+       aryprm8 arysubnm asgext awkpath \
+       back89 backgsub \
+       childin clobber closebad clsflnam compare compare2 concat1 concat2 \
+       concat3 concat4 convfmt \
+       datanonl defref delargv delarpm2 delarprm delfunc dfastress dynlj \
+       eofsplit exitval1 exitval2 \
+       fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \
+       fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \
+       fstabplus funsemnl funsmnam funstack \
+       getline getline2 getline3 getline4 getline5 getlnbuf getnr2tb getnr2tm \
+       gsubasgn gsubtest gsubtst2 gsubtst3 gsubtst4 gsubtst5 gsubtst6 \
+       gsubtst7 gsubtst8 \
+       hex hsprint \
+       inputred intest intprec iobug1 \
+       leaddig leadnl litoct longsub longwrds \
+       manglprm math membug1 messages minusstr mmap8k mtchi18n \
+       nasty nasty2 negexp negrange nested nfldstr nfneg nfset nlfldsep \
+       nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \
+       noparms nors nulrsend numindex numsubstr \
+       octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofs1 onlynl opasnidx opasnslf \
+       paramdup paramres paramtyp paramuninitglobal parse1 parsefld parseme \
+       pcntplus posix2008sub prdupval prec printf0 printf1 prmarscl prmreuse \
+       prt1eval prtoeval \
+       rand range1 rebt8b1 redfilnm regeq regexprange regrange \
+       reindops reparse \
+       resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
+       rstest3 rstest4 rstest5 rswhite \
+       scalar sclforin sclifin sortempty splitargv splitarr splitdef \
+       splitvar splitwht strcat1 strnum1 strtod subamp subi18n \
+       subsepnm subslash substr swaplns synerr1 synerr2 tradanch tweakfld \
+       uninit2 uninit3 uninit4 uninit5 uninitialized unterm uparrfs \
+       wideidx wideidx2 widesub widesub2 widesub3 widesub4 wjposer1 \
+       zero2 zeroe0 zeroflag
+
+UNIX_TESTS = \
+       fflush getlnhd localenl pid pipeio1 pipeio2 poundbang rtlen rtlen01 \
+       space strftlng
+
+
+# Tests not run with long double: dumpvars, symtab1, symtab6 --- symbol table 
dumps.
+# Different entries in table, not worth the hassle and who wants to constantly
+# update the *.ok files?
+GAWK_EXT_TESTS = \
+       aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
+       backw badargs beginfile1 binmode1 charasbytes \
+       clos1way delsub devfd devfd1 devfd2 exit \
+       fieldwdth fpat1 fpat2 fpat3  fpatnull fsfwfs funlen \
+       functab1 functab2 functab3 \
+       fwtest fwtest2 fwtest3 \
+       gensub gensub2 getlndir gnuops2 gnuops3 gnureops \
+       icasefs icasers id igncdym igncfs ignrcas2 ignrcase \
+       incdupe incdupe2 incdupe3 incdupe4 incdupe5 incdupe6 incdupe7 \
+       include include2 indirectcall \
+       lint  lintold lintwarn \
+       manyfiles match1 match2 match3 mbstr1 \
+       nastyparm  next nondec nondec2 \
+       patsplit posix printfbad1 printfbad2 printfbad3 procinfs \
+       profile1 profile2 profile3 pty1 \
+       rebuf regx8bit reint reint2 rsstart1 \
+       rsstart2 rsstart3 rstest6 shadow sortfor sortu splitarg4 strftime \
+       strtonum switch2 \
+       symtab2 symtab3 symtab4 symtab5 symtab7 \
+       symtab9
+
+EXTRA_TESTS = inftest regtest
+INET_TESTS = inetdayu inetdayt inetechu inetecht
+MACHINE_TESTS = double1 double2 fmtspcl intformat
+MPFR_TESTS = mpfrnr mpfrrnd mpfrieee mpfrexprange mpfrsort mpfrbigint
+
+# Tests not run with long double: fnraydel, fnparydl --- index ordering issue. 
+#      Not really useful for the purpose.
+LOCALE_CHARSET_TESTS = \
+       asort asorti fmttest jarebug lc_num1 mbfw1 \
+       mbprintf1 mbprintf2 mbprintf3 rebt8b2 rtlenmb sort1 sprintfc
+
+SHLIB_TESTS = \
+       fnmatch filefuncs fork fork2 fts ordchr ordchr2 \
+       readdir readfile revout revtwoway rwarray testext
+
+
+# List of the tests which should be run with --lint option:
+NEED_LINT = \
+       defref fmtspcl lintwarn noeffect nofmtch shadow \
+       uninit2 uninit3 uninit4 uninit5 uninitialized
+
+
+# List of the tests which should be run with --lint-old option:
+NEED_LINT_OLD = lintold
+
+# List of the tests which fail with EXIT CODE 1
+FAIL_CODE1 = \
+       fnarray2 fnmisc gsubasgn mixed1 noparms paramdup synerr1 synerr2 unterm
+
+
+# List of files which have .ok versions for MPFR
+CHECK_MPFR = \
+       rand fnarydel fnparydl
+
+
+# List of the files that appear in manual tests or are for reserve testing:
+GENTESTS_UNUSED = Makefile.in gtlnbufv.awk printfloat.awk inclib.awk hello.awk
+CMP = cmp
+AWKPROG = ../../gawk$(EXEEXT)
+
+# Default for VALGRIND is empty unless overridden by a command-line argument.
+# This protects against cruft in the environment.
+VALGRIND = 
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am $(srcdir)/Maketests 
$(am__configure_deps)
+       @for dep in $?; do \
+         case '$(am__configure_deps)' in \
+           *$$dep*) \
+             ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+               && { if test -f $@; then exit 0; else break; fi; }; \
+             exit 1;; \
+         esac; \
+       done; \
+       echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu misc/ldbl_tests/Makefile'; 
\
+       $(am__cd) $(top_srcdir) && \
+         $(AUTOMAKE) --gnu misc/ldbl_tests/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+       @case '$?' in \
+         *config.status*) \
+           cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+         *) \
+           echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ 
$(am__depfiles_maybe)'; \
+           cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ 
$(am__depfiles_maybe);; \
+       esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure 
$(CONFIG_STATUS_DEPENDENCIES)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure:  $(am__configure_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
+       cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+cscope cscopelist:
+
+
+distdir: $(DISTFILES)
+       @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+       list='$(DISTFILES)'; \
+         dist_files=`for file in $$list; do echo $$file; done | \
+         sed -e "s|^$$srcdirstrip/||;t" \
+             -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+       case $$dist_files in \
+         */*) $(MKDIR_P) `echo "$$dist_files" | \
+                          sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+                          sort -u` ;; \
+       esac; \
+       for file in $$dist_files; do \
+         if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+         if test -d $$d/$$file; then \
+           dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+           if test -d "$(distdir)/$$file"; then \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx 
{} \;; \
+           fi; \
+           if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+             cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+             find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx 
{} \;; \
+           fi; \
+           cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+         else \
+           test -f "$(distdir)/$$file" \
+           || cp -p $$d/$$file "$(distdir)/$$file" \
+           || exit 1; \
+         fi; \
+       done
+check-am: all-am
+check: check-am
+all-am: Makefile
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+       @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+       if test -z '$(STRIP)'; then \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s 
\
+             install; \
+       else \
+         $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+           install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s 
\
+           "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
+       fi
+mostlyclean-generic:
+
+clean-generic:
+       -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+       -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+       -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f 
$(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+       @echo "This command is intended for maintainers to use"
+       @echo "it deletes files that may require special tools to rebuild."
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+       -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+       -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+       distclean-generic distdir dvi dvi-am html html-am info info-am \
+       install install-am install-data install-data-am install-dvi \
+       install-dvi-am install-exec install-exec-am install-html \
+       install-html-am install-info install-info-am install-man \
+       install-pdf install-pdf-am install-ps install-ps-am \
+       install-strip installcheck installcheck-am installdirs \
+       maintainer-clean maintainer-clean-generic mostlyclean \
+       mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am
+
+
+# Message stuff is to make it a little easier to follow.
+# Make the pass-fail last and dependent on others to avoid
+# spurious errors if `make -j' in effect.
+check: msg \
+       printlang \
+       basic-msg-start  basic           basic-msg-end \
+       unix-msg-start   unix-tests      unix-msg-end \
+       extend-msg-start gawk-extensions extend-msg-end \
+       machine-msg-start machine-tests machine-msg-end \
+       charset-msg-start charset-tests charset-msg-end
+
+basic:
+       @if test -n "$$GAWK_FLOAT"; then $(MAKE) ldbl-basic-tests ; fi
+
+ldbl-basic-tests: $(BASIC_TESTS)
+
+unix-tests:
+       @if test -n "$$GAWK_FLOAT"; then $(MAKE) ldbl-unix-tests ; fi
+
+ldbl-unix-tests: $(UNIX_TESTS)
+
+gawk-extensions:
+       @if test -n "$$GAWK_FLOAT"; then $(MAKE) ldbl-gawk-extensions ; fi
+
+ldbl-gawk-extensions: $(GAWK_EXT_TESTS)
+
+charset-tests:
+       @if test -n "$$GAWK_FLOAT"; then $(MAKE) ldbl-charset-tests ; fi
+
+ldbl-charset-tests: $(LOCALE_CHARSET_TESTS)
+
+machine-tests:
+       @if test -n "$$GAWK_FLOAT"; then $(MAKE) ldbl-machine-tests ; fi
+
+ldbl-machine-tests: $(MACHINE_TESTS)
+
+msg::
+       @echo 'Running tests using LONG DOUBLE numbers'
+
+printlang::
+       @$(AWK) -f $(TESTDIR)/printlang.awk
+
+basic-msg-start:
+       @echo "======== Starting basic tests ========"
+
+basic-msg-end:
+       @echo "======== Done with basic tests ========"
+
+unix-msg-start:
+       @echo "======== Starting Unix tests ========"
+
+unix-msg-end:
+       @echo "======== Done with Unix tests ========"
+
+extend-msg-start:
+       @echo "======== Starting gawk extension tests ========"
+
+extend-msg-end:
+       @echo "======== Done with gawk extension tests ========"
+
+machine-msg-start:
+       @echo "======== Starting machine-specific tests ========"
+
+machine-msg-end:
+       @echo "======== Done with machine-specific tests ========"
+
+charset-msg-start:
+       @echo "======== Starting tests that can vary based on character set or 
locale support ========"
+
+charset-msg-end:
+       @echo "======== Done with tests that can vary based on character set or 
locale support ========"
+
+lc_num1:
+       @echo $@
+       @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+# This test is a PITA because increasingly, /tmp is getting
+# mounted noexec.  So, we'll test it locally.  Sigh.
+#
+# More PITA; some systems have medium short limits on #! paths,
+# so this can still fail
+poundbang::
+       @echo $@
+       @sed "s;/tmp/gawk;`pwd`/$(AWKPROG);" < $(TESTDIR)/poundbang.awk > 
./_pbd.awk
+       @chmod +x ./_pbd.awk
+       @if ./_pbd.awk $(TESTDIR)/poundbang.awk > _`basename address@hidden ; \
+       then : ; \
+       else \
+               sed "s;/tmp/gawk;../$(AWKPROG);" < $(TESTDIR)/poundbang.awk > 
./_pbd.awk ; \
+               chmod +x ./_pbd.awk ; \
+               LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} ./_pbd.awk 
$(TESTDIR)/poundbang.awk > _`basename address@hidden;  \
+       fi
+       @-$(CMP) $(TESTDIR)/poundbang.awk _`basename address@hidden && rm -f 
_`basename address@hidden _pbd.awk
+
+messages::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/messages.awk >_out2 2>_out3
+       @-$(CMP) $(TESTDIR)/out1.ok _out1 && $(CMP) $(TESTDIR)/out2.ok _out2 && 
$(CMP) $(TESTDIR)/out3.ok _out3 && rm -f _out1 _out2 _out3
+
+argarray::
+       @echo $@
+       @case $(TESTDIR) in \
+       .)      : ;; \
+       *)      cp $(TESTDIR)/argarray.in . ;; \
+       esac
+       @TEST=test echo just a test | $(AWK) -f $(TESTDIR)/argarray.awk 
./argarray.in - >_$@
+       @case $(TESTDIR) in \
+       .)      : ;; \
+       *)      rm -f ./argarray.in ;; \
+       esac
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+regtest::
+       @echo 'Some of the output from regtest is very system specific, do not'
+       @echo 'be distressed if your output differs from that distributed.'
+       @echo 'Manual inspection is called for.'
+       AWK=$(AWKPROG) $(TESTDIR)/regtest.sh
+
+manyfiles::
+       @echo manyfiles
+       @rm -rf junk
+       @mkdir junk
+       @$(AWK) 'BEGIN { for (i = 1; i <= 1030; i++) print i, i}' >_$@
+       @$(AWK) -f $(TESTDIR)/manyfiles.awk _$@ _$@
+       @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l | sed "s/  *//g" > _$@
+       @rm -rf junk
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+compare::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/compare.awk 0 1 $(TESTDIR)/compare.in >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+inftest::
+       @echo $@
+       @echo This test is very machine specific...
+       @$(AWK) -f $(TESTDIR)/inftest.awk | sed "s/inf/Inf/g" >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getline2::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/getline2.awk $(TESTDIR)/getline2.awk 
$(TESTDIR)/getline2.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+awkpath::
+       @echo $@
+       @AWKPATH="$(TESTDIR)$(PATH_SEPARATOR)$(TESTDIR)/lib" $(AWK) -f 
awkpath.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+argtest::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/argtest.awk -x -y abc >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+badargs::
+       @echo $@
+       @-$(AWK) -f 2>&1 | grep -v patchlevel >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nonl::
+       @echo $@
+       @-AWKPATH=$(TESTDIR) $(AWK) --lint -f nonl.awk /dev/null >_$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+strftime::
+       @echo This test could fail on slow machines or on a minute boundary,
+       @echo so if it does, double check the actual results:
+       @echo $@
+       @GAWKLOCALE=C; export GAWKLOCALE; \
+       TZ=GMT0; export TZ; \
+       (LC_ALL=C date) | $(AWK) -v OUTPUT=_$@ -f $(TESTDIR)/strftime.awk
+       @-$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0
+
+litoct::
+       @echo $@
+       @echo ab | $(AWK) --traditional -f $(TESTDIR)/litoct.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+devfd::
+       @echo $@
+       @$(AWK) 1 /dev/fd/4 /dev/fd/5 4<$(TESTDIR)/devfd.in4 
5<$(TESTDIR)/devfd.in5 >_$@ 2>&1 || echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fflush::
+       @echo $@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+tweakfld::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/tweakfld.awk $(TESTDIR)/tweakfld.in >_$@
+       @rm -f errors.cleanup
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mmap8k::
+       @echo $@
+       @$(AWK) '{ print }' $(TESTDIR)/mmap8k.in >_$@
+       @-$(CMP) $(TESTDIR)/mmap8k.in _$@ && rm -f _$@
+
+tradanch::
+       @echo $@
+       @$(AWK) --traditional -f $(TESTDIR)/tradanch.awk $(TESTDIR)/tradanch.in 
>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+# AIX /bin/sh exec's the last command in a list, therefore issue a ":"
+# command so that pid.sh is fork'ed as a child before being exec'ed.
+pid::
+       @echo pid
+       @AWKPATH=$(TESTDIR) AWK=$(AWKPROG) $(SHELL) $(TESTDIR)/pid.sh $$$$ > 
_`basename address@hidden ; :
+       @-$(CMP) $(TESTDIR)/pid.ok _`basename address@hidden && rm -f 
_`basename address@hidden
+
+strftlng::
+       @echo $@
+       @TZ=UTC; export TZ; $(AWK) -f $(TESTDIR)/strftlng.awk >_$@
+       @if $(CMP) $(TESTDIR)/strftlng.ok _$@ >/dev/null 2>&1 ; then : ; else \
+       TZ=UTC0; export TZ; $(AWK) -f $(TESTDIR)/strftlng.awk >_$@ ; \
+       fi
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nors::
+       @echo $@
+       @echo A B C D E | tr -d '\12\15' | $(AWK) '{ print $$NF }' - 
$(TESTDIR)/nors.in > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fmtspcl.ok: $(TESTDIR)/fmtspcl.tok Makefile
+       @$(AWK) -v "sd=$(TESTDIR)" 'BEGIN {pnan = sprintf("%g",sqrt(-1)); nnan 
= sprintf("%g",-sqrt(-1)); pinf = sprintf("%g",-log(0)); ninf = 
sprintf("%g",log(0))} {sub(/positive_nan/,pnan); sub(/negative_nan/,nnan); 
sub(/positive_infinity/,pinf); sub(/negative_infinity/,ninf); 
sub(/fmtspcl/,(sd"/fmtspcl")); print}' < $(TESTDIR)/fmtspcl.tok > $@ 2>/dev/null
+
+fmtspcl: fmtspcl.ok
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/fmtspcl.awk  --lint >_$@ 2>&1 || echo EXIT CODE: 
$$? >>_$@
+       @-if test -z "$$AWKFLAGS" ; then $(CMP) address@hidden _$@ && rm -f _$@ 
; else \
+       $(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@ ; \
+       fi
+
+reint::
+       @echo $@
+       @$(AWK) --re-interval -f $(TESTDIR)/reint.awk $(TESTDIR)/reint.in >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+pipeio1::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/pipeio1.awk >_$@
+       @rm -f test1 test2
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+pipeio2::
+       @echo $@
+       @$(AWK) -v SRCDIR=$(TESTDIR) -f $(TESTDIR)/pipeio2.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+clobber::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/clobber.awk >_$@
+       @-$(CMP) $(TESTDIR)/clobber.ok seq && $(CMP) $(TESTDIR)/clobber.ok _$@ 
&& rm -f _$@
+       @rm -f seq
+
+arynocls::
+       @echo $@
+       @-AWKPATH=$(TESTDIR) $(AWK) -v INPUT=$(TESTDIR)/arynocls.in -f 
arynocls.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getlnbuf::
+       @echo $@
+       @-AWKPATH=$(TESTDIR) $(AWK) -f getlnbuf.awk $(TESTDIR)/getlnbuf.in > _$@
+       @-AWKPATH=$(TESTDIR) $(AWK) -f gtlnbufv.awk $(TESTDIR)/getlnbuf.in > 
_2$@
+       @-$(CMP) $(TESTDIR)/getlnbuf.ok _$@ && $(CMP) $(TESTDIR)/getlnbuf.ok 
_2$@ && rm -f _$@ _2$@
+
+inetmesg::
+       @echo These tests only work if your system supports the services
+       @echo "'discard'" at port 9 and "'daytimed'" at port 13. Check your
+       @echo file /etc/services and do "'netstat -a'".
+
+inetechu::
+       @echo This test is for establishing UDP connections
+       @$(AWK) 'BEGIN {print "" |& "/inet/udp/0/127.0.0.1/9"}'
+
+inetecht::
+       @echo This test is for establishing TCP connections
+       @$(AWK) 'BEGIN {print "" |& "/inet/tcp/0/127.0.0.1/9"}'
+
+inetdayu::
+       @echo This test is for bidirectional UDP transmission
+       @$(AWK) 'BEGIN { print "" |& "/inet/udp/0/127.0.0.1/13"; \
+       "/inet/udp/0/127.0.0.1/13" |& getline; print $0}'
+
+inetdayt::
+       @echo This test is for bidirectional TCP transmission
+       @$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \
+       "/inet/tcp/0/127.0.0.1/13" |& getline; print $0}'
+
+redfilnm::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/redfilnm.awk srcdir=$(TESTDIR) 
$(TESTDIR)/redfilnm.in >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+leaddig::
+       @echo $@
+       @$(AWK) -v x=2E  -f $(TESTDIR)/leaddig.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst3::
+       @echo $@
+       @$(AWK) --re-interval -f $(TESTDIR)/address@hidden 
$(TESTDIR)/address@hidden >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+space::
+       @echo $@
+       @$(AWK) -f ' ' $(TESTDIR)/space.awk >_$@ 2>&1 || echo EXIT CODE: $$? 
>>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+printf0::
+       @echo $@
+       @$(AWK) --posix -f $(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rsnulbig::
+       @echo $@
+       @ : Suppose that block size for pipe is at most 128kB:
+       @$(AWK) 'BEGIN { for (i = 1; i <= 128*64+1; i++) print 
"abcdefgh123456\n" }' 2>&1 | \
+       $(AWK) 'BEGIN { RS = ""; ORS = "\n\n" }; { print }' 2>&1 | \
+       $(AWK) '/^[^a]/; END{ print NR }' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rsnulbig2::
+       @echo $@
+       @$(AWK) 'BEGIN { ORS = ""; n = "\n"; for (i = 1; i <= 10; i++) n = (n 
n); \
+               for (i = 1; i <= 128; i++) print n; print "abc\n" }' 2>&1 | \
+               $(AWK) 'BEGIN { RS = ""; ORS = "\n\n" };{ print }' 2>&1 | \
+               $(AWK) '/^[^a]/; END { print NR }' >_$@ 2>&1 || echo EXIT CODE: 
$$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+wideidx::
+       @echo $@
+       @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+wideidx2::
+       @echo $@
+       @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+widesub::
+       @echo $@
+       @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+widesub2::
+       @echo $@
+       @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+widesub3::
+       @echo $@
+       @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+widesub4::
+       @echo $@
+       @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ignrcas2::
+       @echo $@
+       @GAWKLOCALE=en_US ; export GAWKLOCALE ; \
+       $(AWK) -f $(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >> 
_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+subamp::
+       @echo $@
+       @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+       $(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+# This test makes sure gawk exits with a zero code.
+# Thus, unconditionally generate the exit code.
+exitval1::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/exitval1.awk >_$@ 2>&1; echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fsspcoln::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/address@hidden 'FS=[ :]+' 
$(TESTDIR)/address@hidden >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rsstart1::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/rsstart1.in >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rsstart2::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/rsstart1.in >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rsstart3::
+       @echo $@
+       @head $(TESTDIR)/rsstart1.in | $(AWK) -f $(TESTDIR)/rsstart2.awk >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rtlen::
+       @echo $@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden >_$@ || echo EXIT CODE: 
$$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rtlen01::
+       @echo $@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden >_$@ || echo EXIT CODE: 
$$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rtlenmb::
+       @echo $@
+       @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+       AWK=$(AWKPROG) $(TESTDIR)/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/rtlen.ok _$@ && rm -f _$@
+
+nondec2::
+       @echo $@
+       @$(AWK) --non-decimal-data -v a=0x1 -f $(TESTDIR)/address@hidden >_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nofile::
+       @echo $@
+       @$(AWK) '{}' no/such/file >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+binmode1::
+       @echo $@
+       @$(AWK) -v BINMODE=3 'BEGIN { print BINMODE }' >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+subi18n::
+       @echo $@
+       @GAWKLOCALE=en_US.UTF-8 ; $(AWK) -f $(TESTDIR)/address@hidden > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+concat4::
+       @echo $@
+       @GAWKLOCALE=en_US.UTF-8 ; $(AWK) -f $(TESTDIR)/address@hidden 
$(TESTDIR)/address@hidden > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+devfd1::
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/address@hidden 4< $(TESTDIR)/devfd.in1 5< 
$(TESTDIR)/devfd.in2 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+# The program text is the '1' which will print each record. How compact can 
you get?
+devfd2::
+       @echo $@
+       @$(AWK) 1 /dev/fd/4 /dev/fd/5 4< $(TESTDIR)/devfd.in1 5< 
$(TESTDIR)/devfd.in2 >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mixed1::
+       @echo $@
+       @$(AWK) -f /dev/null --source 'BEGIN {return junk}' >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mtchi18n::
+       @echo $@
+       @GAWKLOCALE=ru_RU.UTF-8 ; export GAWKLOCALE ; \
+       $(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+reint2::
+       @echo $@
+       @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+       AWKPATH=$(TESTDIR) $(AWK) --re-interval -f address@hidden 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+localenl::
+       @echo $@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden >_$@ 2>/dev/null
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mbprintf1::
+       @echo $@
+       @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+       $(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mbprintf2::
+       @echo $@
+       @GAWKLOCALE=ja_JP.UTF-8 ; export GAWKLOCALE ; \
+       $(AWK) -f $(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >> 
_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mbprintf3::
+       @echo $@
+       @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+       $(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mbfw1::
+       @echo $@
+       @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
+       $(AWK) -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden >_$@ 2>&1 
|| echo EXIT CODE: $$? >> _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst6::
+       @echo $@
+       @GAWKLOCALE=C ; $(AWK) -f $(TESTDIR)/address@hidden > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mbstr1::
+       @echo $@
+       @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+printfbad2: $(TESTDIR)/printfbad2.ok
+       @echo $@
+       @$(AWK) --lint -f $(TESTDIR)/address@hidden $(TESTDIR)/address@hidden 
2>&1 | sed 's;\$(TESTDIR)/;;g' >_$@ || echo EXIT CODE: $$?  >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+beginfile1::
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden $(TESTDIR)/address@hidden 
. ./no/such/file Makefile  >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+dumpvars::
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) --dump-variables 1 < 
$(TESTDIR)/address@hidden >/dev/null 2>&1 || echo EXIT CODE: $$? >>_$@
+       @mv awkvars.out _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+profile1:
+       @echo $@
+       @$(AWK) address@hidden -f $(TESTDIR)/xref.awk $(TESTDIR)/dtdgport.awk > 
address@hidden
+       @$(AWK) -f address@hidden $(TESTDIR)/dtdgport.awk > address@hidden ; rm 
address@hidden
+       @cmp address@hidden address@hidden && rm address@hidden || echo EXIT 
CODE: $$? >>_$@
+
+profile2:
+       @echo $@
+       @$(AWK) address@hidden -v sortcmd=sort -f $(TESTDIR)/xref.awk 
$(TESTDIR)/dtdgport.awk > /dev/null
+       @sed 1,2d < address@hidden > _$@; rm address@hidden
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+profile3:
+       @echo $@
+       @$(AWK) address@hidden -f $(TESTDIR)/address@hidden > /dev/null
+       @sed 1,2d < address@hidden > _$@; rm address@hidden
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+posix2008sub:
+       @echo $@
+       @$(AWK) --posix -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+next:
+       @echo $@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-LC_ALL=C $(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+exit:
+       @echo $@
+       @-AWK="$(AWKPROG)" $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rri1::
+       @echo $@
+       @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+       AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rand:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-if test -z "$$AWKFLAGS" ; then $(CMP) $(TESTDIR)/address@hidden _$@ 
&& rm -f _$@ ; else \
+       ($(CMP) $(TESTDIR)/address@hidden _$@ || $(CMP) 
$(TESTDIR)/address@hidden _$@) && rm -f _$@ ; \
+       fi
+
+mpfrieee:
+       @echo $@
+       @$(AWK) -M -vPREC=double -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mpfrexprange:
+       @echo $@
+       @$(AWK) -M -vPREC=53 -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mpfrrnd:
+       @echo $@
+       @$(AWK) -M -vPREC=53 -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mpfrnr:
+       @echo $@
+       @$(AWK) -M -vPREC=113 -f $(TESTDIR)/address@hidden 
$(TESTDIR)/address@hidden > _$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mpfrsort:
+       @echo $@
+       @$(AWK) -M -vPREC=53 -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+mpfrbigint:
+       @echo $@
+       @$(AWK) -M -f $(TESTDIR)/address@hidden > _$@ 2>&1
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+jarebug::
+       @echo $@
+       @$(TESTDIR)/address@hidden "$(AWKPROG)" "$(TESTDIR)/address@hidden" 
"$(TESTDIR)/address@hidden" "_$@"
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ordchr2::
+       @echo $@
+       @$(AWK) -l ordchr 'BEGIN {print chr(ord("z"))}' >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+# N.B. If the test fails, create readfile.ok so that "make diffout" will work
+readfile::
+       @echo $@
+       @$(AWK) -l readfile 'BEGIN {printf "%s", readfile("Makefile")}' >_$@ 
2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) Makefile _$@ && rm -f _$@ || cp -p Makefile address@hidden
+
+include2::
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -i inclib 'BEGIN {print sandwich("a", "b", 
"c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+incdupe::
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -i inclib -i inclib.awk 'BEGIN {print 
sandwich("a", "b", "c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+incdupe2::
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -f inclib -f inclib.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+incdupe3::
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -f hello -f hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+incdupe4::
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -f hello -i hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+incdupe5::
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -i hello -f hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+incdupe6::
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -i inchello -f hello.awk >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+incdupe7::
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) --lint -f hello -i inchello >_$@ 2>&1 || 
echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+testext::
+       @echo $@
+       @$(AWK) '/^(@load|BEGIN)/,/^}/' $(top_srcdir)/extension/testext.c > 
testext.awk
+       @$(AWK) -f testext.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@ testext.awk
+
+readdir:
+       @echo This test can fail on some filesystems.
+       @echo $@
+       @ls -fli $(top_srcdir) | sed 1d | $(AWK) -f $(TESTDIR)/readdir0.awk > 
address@hidden
+       @$(AWK) -f $(TESTDIR)/readdir.awk $(top_srcdir) > _$@
+       @-$(CMP) address@hidden _$@ && rm -f address@hidden _$@
+
+fts:
+       @echo $@
+       @$(AWK) -f $(TESTDIR)/fts.awk
+       @-$(CMP) address@hidden _$@ && rm -f address@hidden _$@
+
+charasbytes:
+       @echo $@
+       @[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=en_US.UTF-8; \
+       AWKPATH=$(TESTDIR) $(AWK) -b -f address@hidden 
$(TESTDIR)/address@hidden | \
+       od -c -t x1 | sed -e 's/  */ /g' -e 's/ *$$//' >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab6:
+       @echo $@
+       @$(AWK) -d__$@ -f $(TESTDIR)/address@hidden
+       @grep -v '^ENVIRON' __$@ | grep -v '^PROCINFO' > _$@ ; rm __$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+Gt-dummy:
+# file Maketests, generated from Makefile.am by the Gentests program
+addcomma:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+anchgsub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arrayparm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arrayprm2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arrayprm3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arrayref:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arrymem1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arryref2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arryref3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arryref4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arryref5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arynasty:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm6:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm7:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm8:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arysubnm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+asgext:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+back89:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+backgsub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+childin:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+closebad:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+clsflnam:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+compare2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+concat1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+concat2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+concat3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+convfmt:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+datanonl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+defref:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+delargv:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+delarpm2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+delarprm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+delfunc:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+dfastress:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+dynlj:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+eofsplit:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+exitval2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fcall_exit:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fcall_exit2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fldchg:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fldchgnf:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnamedat:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnarray:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnarray2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnaryscl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnasgnm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnmisc:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fordel:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+forref:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+forsimp:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fsbs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fsrs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fstabplus:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+funsemnl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+funsmnam:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+funstack:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getline:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getline3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getline4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getline5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getnr2tb:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getnr2tm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubasgn:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtest:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst7:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst8:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+hex:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+hsprint:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+inputred:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+intest:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+intprec:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+iobug1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+leadnl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+longsub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+longwrds:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+manglprm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+math:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+membug1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+minusstr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nasty:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nasty2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+negexp:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+negrange:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nested:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nfldstr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nfneg:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nfset:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nlfldsep:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nlinstr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nlstrina:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+noeffect:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nofmtch:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+noloop1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+noloop2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+noparms:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nulrsend:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+numindex:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+numsubstr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+octsub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofmt:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofmta:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofmtbig:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofmtfidl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofmts:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofs1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+onlynl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+opasnidx:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+opasnslf:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+paramdup:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+paramres:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+paramtyp:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+paramuninitglobal:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+parse1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+parsefld:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+parseme:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+pcntplus:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prdupval:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prec:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+printf1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prmarscl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prmreuse:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prt1eval:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prtoeval:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+range1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rebt8b1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+regeq:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+regexprange:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+regrange:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+reindops:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+reparse:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+resplit:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rsnul1nl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rswhite:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+scalar:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sclforin:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sclifin:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sortempty:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitargv:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitarr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitdef:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitvar:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitwht:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+strcat1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+strnum1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+strtod:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+subsepnm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+subslash:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+substr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+swaplns:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+synerr1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+synerr2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uninit2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uninit3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uninit4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uninit5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uninitialized:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+unterm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uparrfs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+wjposer1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+zero2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+zeroe0:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+zeroflag:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getlnhd:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aadelete1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aadelete2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aarray1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aasort:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aasorti:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arraysort:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+backw:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+clos1way:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+delsub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fieldwdth:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fpat1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fpat2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fpat3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fpatnull:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fsfwfs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+funlen:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+functab1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+functab2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+functab3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fwtest:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fwtest2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fwtest3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gensub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gensub2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getlndir:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gnuops2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gnuops3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gnureops:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+icasefs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+icasers:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+id:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+igncdym:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+igncfs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ignrcase:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+include:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+indirectcall:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+lint:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+lintold:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint-old < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+lintwarn:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+match1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+match2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+match3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nastyparm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nondec:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+patsplit:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+posix:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+printfbad1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+printfbad3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+procinfs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+pty1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rebuf:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+regx8bit:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest6:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+shadow:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sortfor:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sortu:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitarg4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+strtonum:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+switch2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab7:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab9:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+double1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+double2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+intformat:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+asort:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+asorti:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fmttest:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rebt8b2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sort1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sprintfc:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnmatch:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+filefuncs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fork:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fork2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ordchr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+revout:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+revtwoway:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rwarray:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+# end of file Maketests
+
+# Targets generated for other tests:
+
+$(srcdir)/Maketests: $(srcdir)/Makefile.am $(srcdir)/Gentests
+       files=`cd "$(TESTDIR)" && echo *.awk *.in`; \
+       $(AWK) -f $(srcdir)/Gentests "$(srcdir)/Makefile.am" $$files > 
$(srcdir)/Maketests
+
+clean:
+       rm -fr _* core core.* fmtspcl.ok junk strftime.ok test1 test2 seq *~ 
readfile.ok fork.tmp.* testext.awk fts.ok readdir.ok
+
+# An attempt to print something that can be grepped for in build logs
+pass-fail:
+       @COUNT=`ls _* 2>/dev/null | wc -l` ; \
+       if test $$COUNT = 0 ; \
+       then    echo ALL TESTS PASSED ; \
+       else    echo $$COUNT TESTS FAILED ; \
+       fi
+
+# This target for my convenience to look at all the results
+diffout:
+       for i in _* ; \
+       do  \
+               if [ "$$i" != "_*" ]; then \
+               echo ============== $$i ============= ; \
+               if [ -r $${i#_}.ok ]; then \
+               diff -c $${i#_}.ok $$i ; \
+               else \
+               diff -c $(srcdir)/$${i#_}.ok  $$i ; \
+               fi ; \
+               fi ; \
+       done | more
+
+# convenient way to scan valgrind results for errors
+valgrind-scan:
+       @echo "Scanning valgrind log files for problems:"
+       @$(AWK) '\
+       function show() {if (cmd) {printf "%s: %s\n",FILENAME,cmd; cmd = ""}; \
+         printf "\t%s\n",$$0}; \
+       {$$1 = ""}; \
+       $$2 == "Command:" {incmd = 1; $$2 = ""; cmd = $$0; next}; \
+       incmd {if (/Parent PID:/) incmd = 0; else {cmd = (cmd $$0); next}}; \
+       /ERROR SUMMARY:/ && !/: 0 errors from 0 contexts/ {show()}; \
+       /definitely lost:/ && !/: 0 bytes in 0 blocks/ {show()}; \
+       /possibly lost:/ && !/: 0 bytes in 0 blocks/ {show()}; \
+       / suppressed:/ && !/: 0 bytes in 0 blocks/ {show()}; \
+       ' log.[0-9]*
+
+# This target is for testing with electric fence.
+efence:
+       for i in $$(ls _* | sed 's;_\(.*\);\1;') ; \
+       do \
+               bad=$$(wc -l < _$$i) \
+               ok=$$(wc -l < $$i.ok) ; \
+               if (( $$bad == $$ok + 2 )) ; \
+               then \
+                       rm _$$i ; \
+               fi ; \
+       done
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/misc/ldbl_tests/Maketests b/misc/ldbl_tests/Maketests
new file mode 100644
index 0000000..d723560
--- /dev/null
+++ b/misc/ldbl_tests/Maketests
@@ -0,0 +1,1298 @@
+Gt-dummy:
+# file Maketests, generated from Makefile.am by the Gentests program
+addcomma:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+anchgsub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arrayparm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arrayprm2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arrayprm3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arrayref:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arrymem1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arryref2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arryref3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arryref4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arryref5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arynasty:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm6:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm7:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aryprm8:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arysubnm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+asgext:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+back89:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+backgsub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+childin:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+closebad:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+clsflnam:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+compare2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+concat1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+concat2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+concat3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+convfmt:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+datanonl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+defref:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+delargv:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+delarpm2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+delarprm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+delfunc:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+dfastress:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+dynlj:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+eofsplit:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+exitval2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fcall_exit:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fcall_exit2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fldchg:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fldchgnf:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnamedat:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnarray:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnarray2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnaryscl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnasgnm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnmisc:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fordel:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+forref:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+forsimp:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fsbs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fsrs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fstabplus:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+funsemnl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+funsmnam:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+funstack:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getline:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getline3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getline4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getline5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getnr2tb:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getnr2tm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubasgn:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtest:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst7:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gsubtst8:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+hex:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+hsprint:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+inputred:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+intest:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+intprec:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+iobug1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+leadnl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+longsub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+longwrds:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+manglprm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+math:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+membug1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+minusstr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nasty:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nasty2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+negexp:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+negrange:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nested:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nfldstr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nfneg:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nfset:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nlfldsep:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nlinstr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nlstrina:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+noeffect:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nofmtch:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+noloop1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+noloop2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+noparms:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nulrsend:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+numindex:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+numsubstr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+octsub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofmt:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofmta:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofmtbig:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofmtfidl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofmts:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ofs1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+onlynl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+opasnidx:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+opasnslf:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+paramdup:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+paramres:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+paramtyp:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+paramuninitglobal:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+parse1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+parsefld:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+parseme:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+pcntplus:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prdupval:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prec:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+printf1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prmarscl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prmreuse:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prt1eval:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+prtoeval:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+range1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rebt8b1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+regeq:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+regexprange:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+regrange:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+reindops:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+reparse:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+resplit:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rsnul1nl:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rswhite:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+scalar:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sclforin:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sclifin:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sortempty:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitargv:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitarr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitdef:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitvar:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitwht:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+strcat1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+strnum1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+strtod:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+subsepnm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+subslash:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+substr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+swaplns:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+synerr1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+synerr2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uninit2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uninit3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uninit4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uninit5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uninitialized:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+unterm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+uparrfs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+wjposer1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+zero2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+zeroe0:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+zeroflag:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getlnhd:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aadelete1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aadelete2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aarray1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aasort:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+aasorti:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+arraysort:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+backw:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+clos1way:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+delsub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fieldwdth:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fpat1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fpat2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fpat3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fpatnull:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fsfwfs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+funlen:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+functab1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+functab2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+functab3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fwtest:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fwtest2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fwtest3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gensub:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gensub2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+getlndir:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gnuops2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gnuops3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+gnureops:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+icasefs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+icasers:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+id:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+igncdym:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+igncfs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ignrcase:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+include:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+indirectcall:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+lint:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+lintold:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint-old < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+lintwarn:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+match1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+match2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+match3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nastyparm:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+nondec:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+patsplit:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+posix:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+printfbad1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+printfbad3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+procinfs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+pty1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rebuf:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+regx8bit:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rstest6:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+shadow:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  --lint >_$@ 2>&1 || echo 
EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sortfor:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sortu:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+splitarg4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+strtonum:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+switch2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab3:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab4:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab5:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab7:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+symtab9:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+double1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+double2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+intformat:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+asort:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+asorti:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fmttest:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rebt8b2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sort1:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+sprintfc:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fnmatch:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+filefuncs:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fork:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+fork2:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+ordchr:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+revout:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+revtwoway:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+rwarray:
+       @echo $@
+       @AWKPATH=$(TESTDIR) $(AWK) -f address@hidden  < 
$(TESTDIR)/address@hidden >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+       @-$(CMP) $(TESTDIR)/address@hidden _$@ && rm -f _$@
+
+# end of file Maketests
diff --git a/test/Makefile.am b/test/Makefile.am
index da67b05..667f26e 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -820,8 +820,6 @@ EXTRA_DIST = \
        synerr2.awk \
        synerr2.ok \
        testext.ok \
-       time.awk \
-       time.ok \
        tradanch.awk \
        tradanch.in \
        tradanch.ok \
@@ -954,7 +952,7 @@ LOCALE_CHARSET_TESTS = \
 
 SHLIB_TESTS = \
        fnmatch filefuncs fork fork2 fts ordchr ordchr2 \
-       readdir readfile revout revtwoway rwarray testext time
+       readdir readfile revout revtwoway rwarray testext
 
 # List of the tests which should be run with --lint option:
 NEED_LINT = \
@@ -992,6 +990,7 @@ VALGRIND =
 # And we set AWKLIBPATH to find the extension libraries we built.
 AWK = LC_ALL=$${GAWKLOCALE:-C} LANG=$${GAWKLOCALE:-C} 
AWKLIBPATH=../extension/.libs $(VALGRIND) $(AWKPROG)
 
+
 # Message stuff is to make it a little easier to follow.
 # Make the pass-fail last and dependent on others to avoid
 # spurious errors if `make -j' in effect.
@@ -1002,7 +1001,10 @@ check:   msg \
        extend-msg-start gawk-extensions extend-msg-end \
        machine-msg-start machine-tests machine-msg-end \
        charset-msg-start charset-tests charset-msg-end \
-       shlib-msg-start  shlib-tests     shlib-msg-end
+       shlib-msg-start  shlib-tests     shlib-msg-end \
+       pass-fail-all
+
+pass-fail-all:
        @$(MAKE) pass-fail
 
 basic: $(BASIC_TESTS)
@@ -1192,7 +1194,7 @@ devfd::
 
 fflush::
        @echo $@
-       @$(srcdir)/fflush.sh >_$@
+       @-AWK="$(AWKPROG)" $(srcdir)/address@hidden > _$@
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 
 tweakfld::
@@ -1415,18 +1417,18 @@ rsstart3::
 
 rtlen::
        @echo $@
-       @$(srcdir)/address@hidden >_$@ || echo EXIT CODE: $$? >>_$@
+       @-AWK="$(AWKPROG)" $(srcdir)/address@hidden >_$@ || echo EXIT CODE: $$? 
>>_$@
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 
 rtlen01::
        @echo $@
-       @$(srcdir)/address@hidden >_$@ || echo EXIT CODE: $$? >>_$@
+       @-AWK="$(AWKPROG)" $(srcdir)/address@hidden >_$@ || echo EXIT CODE: $$? 
>>_$@
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 
 rtlenmb::
        @echo $@
        @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
-       $(srcdir)/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@
+       AWK=$(AWKPROG) $(srcdir)/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@
        @-$(CMP) $(srcdir)/rtlen.ok _$@ && rm -f _$@
 
 nondec2::
@@ -1484,7 +1486,7 @@ reint2::
 
 localenl::
        @echo $@
-       @$(srcdir)/address@hidden >_$@ 2>/dev/null
+       @-AWK="$(AWKPROG)" $(srcdir)/address@hidden >_$@ 2>/dev/null
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 
 mbprintf1::
@@ -1726,9 +1728,18 @@ clean:
 pass-fail:
        @COUNT=`ls _* 2>/dev/null | wc -l` ; \
        if test $$COUNT = 0 ; \
-       then    echo ALL TESTS PASSED ; \
-       else    echo $$COUNT TESTS FAILED ; \
-       fi
+       then    echo double tests: ALL TESTS PASSED ; \
+       else    echo double tests: $$COUNT TESTS FAILED ; \
+       fi ; \
+       if grep 'USE_LONG_DOUBLE 1' $(top_builddir)/config.h > /dev/null ; then 
\
+          COUNT_LDBL=`ls ../misc/ldbl_tests/_* 2>/dev/null | wc -l` ; \
+          if test $$COUNT_LDBL = 0 ; \
+             then echo long double tests: ALL TESTS PASSED ; \
+          else echo long double tests: $$COUNT_LDBL TESTS FAILED ; \
+          fi ; \
+       else echo long double is not supported on this system ; \
+       fi ;
+
 
 # This target for my convenience to look at all the results
 diffout:
diff --git a/test/Makefile.in b/test/Makefile.in
index 8ee67d2..e64dbb1 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1035,8 +1035,6 @@ EXTRA_DIST = \
        synerr2.awk \
        synerr2.ok \
        testext.ok \
-       time.awk \
-       time.ok \
        tradanch.awk \
        tradanch.in \
        tradanch.ok \
@@ -1164,7 +1162,7 @@ LOCALE_CHARSET_TESTS = \
 
 SHLIB_TESTS = \
        fnmatch filefuncs fork fork2 fts ordchr ordchr2 \
-       readdir readfile revout revtwoway rwarray testext time
+       readdir readfile revout revtwoway rwarray testext
 
 
 # List of the tests which should be run with --lint option:
@@ -1388,7 +1386,10 @@ check:   msg \
        extend-msg-start gawk-extensions extend-msg-end \
        machine-msg-start machine-tests machine-msg-end \
        charset-msg-start charset-tests charset-msg-end \
-       shlib-msg-start  shlib-tests     shlib-msg-end
+       shlib-msg-start  shlib-tests     shlib-msg-end \
+       pass-fail-all
+
+pass-fail-all:
        @$(MAKE) pass-fail
 
 basic: $(BASIC_TESTS)
@@ -1576,7 +1577,7 @@ devfd::
 
 fflush::
        @echo $@
-       @$(srcdir)/fflush.sh >_$@
+       @-AWK="$(AWKPROG)" $(srcdir)/address@hidden > _$@
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 
 tweakfld::
@@ -1799,18 +1800,18 @@ rsstart3::
 
 rtlen::
        @echo $@
-       @$(srcdir)/address@hidden >_$@ || echo EXIT CODE: $$? >>_$@
+       @-AWK="$(AWKPROG)" $(srcdir)/address@hidden >_$@ || echo EXIT CODE: $$? 
>>_$@
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 
 rtlen01::
        @echo $@
-       @$(srcdir)/address@hidden >_$@ || echo EXIT CODE: $$? >>_$@
+       @-AWK="$(AWKPROG)" $(srcdir)/address@hidden >_$@ || echo EXIT CODE: $$? 
>>_$@
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 
 rtlenmb::
        @echo $@
        @GAWKLOCALE=en_US.UTF-8 ; export GAWKLOCALE ; \
-       $(srcdir)/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@
+       AWK=$(AWKPROG) $(srcdir)/rtlen.sh >_$@ || echo EXIT CODE: $$? >>_$@
        @-$(CMP) $(srcdir)/rtlen.ok _$@ && rm -f _$@
 
 nondec2::
@@ -1868,7 +1869,7 @@ reint2::
 
 localenl::
        @echo $@
-       @$(srcdir)/address@hidden >_$@ 2>/dev/null
+       @-AWK="$(AWKPROG)" $(srcdir)/address@hidden >_$@ 2>/dev/null
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 
 mbprintf1::
@@ -3416,11 +3417,6 @@ rwarray:
        @AWKPATH=$(srcdir) $(AWK) -f address@hidden  < $(srcdir)/address@hidden 
>_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 
-time:
-       @echo $@
-       @AWKPATH=$(srcdir) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
-
 # end of file Maketests
 
 # Targets generated for other tests:
@@ -3436,9 +3432,17 @@ clean:
 pass-fail:
        @COUNT=`ls _* 2>/dev/null | wc -l` ; \
        if test $$COUNT = 0 ; \
-       then    echo ALL TESTS PASSED ; \
-       else    echo $$COUNT TESTS FAILED ; \
-       fi
+       then    echo double tests: ALL TESTS PASSED ; \
+       else    echo double tests: $$COUNT TESTS FAILED ; \
+       fi ; \
+       if grep 'USE_LONG_DOUBLE 1' $(top_builddir)/config.h > /dev/null ; then 
\
+          COUNT_LDBL=`ls ../misc/ldbl_tests/_* 2>/dev/null | wc -l` ; \
+          if test $$COUNT_LDBL = 0 ; \
+             then echo long double tests: ALL TESTS PASSED ; \
+          else echo long double tests: $$COUNT_LDBL TESTS FAILED ; \
+          fi ; \
+       else echo long double is not supported on this system ; \
+       fi ;
 
 # This target for my convenience to look at all the results
 diffout:
diff --git a/test/Maketests b/test/Maketests
index be8b53b..7ab8405 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -1319,9 +1319,4 @@ rwarray:
        @AWKPATH=$(srcdir) $(AWK) -f address@hidden  < $(srcdir)/address@hidden 
>_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
        @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
 
-time:
-       @echo $@
-       @AWKPATH=$(srcdir) $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
-       @-$(CMP) $(srcdir)/address@hidden _$@ && rm -f _$@
-
 # end of file Maketests
diff --git a/test/fflush.sh b/test/fflush.sh
index 42d624c..f079cb0 100755
--- a/test/fflush.sh
+++ b/test/fflush.sh
@@ -1,16 +1,23 @@
 #! /bin/sh
-../gawk 'BEGIN{print "1st";fflush("/dev/stdout");print "2nd"|"cat"}'
 
-../gawk 'BEGIN{print "1st";fflush("/dev/stdout");print "2nd"|"cat"}'|cat
+if [ "$AWK" = "" ]
+then
+       echo $0: You must set AWK >&2
+       exit 1
+fi
 
-../gawk 'BEGIN{print "1st";fflush("/dev/stdout");close("/dev/stdout");print 
"2nd"|"cat"}'|cat
+$AWK 'BEGIN{print "1st";fflush("/dev/stdout");print "2nd"|"cat"}'
 
-../gawk 'BEGIN{print "1st";fflush("/dev/stdout");print 
"2nd"|"cat";close("cat")}'|cat
+$AWK 'BEGIN{print "1st";fflush("/dev/stdout");print "2nd"|"cat"}'|cat
 
-../gawk 'BEGIN{print "1st";fflush("/dev/stdout");print 
"2nd"|"cat";close("cat")}'|cat
+$AWK 'BEGIN{print "1st";fflush("/dev/stdout");close("/dev/stdout");print 
"2nd"|"cat"}'|cat
 
-../gawk 'BEGIN{print "1st";fflush("/dev/stdout");print 
"2nd"|"cat";close("cat")}'|cat
+$AWK 'BEGIN{print "1st";fflush("/dev/stdout");print 
"2nd"|"cat";close("cat")}'|cat
 
-../gawk 'BEGIN{print "1st";fflush("/dev/stdout");print "2nd"|"sort"}'|cat
+$AWK 'BEGIN{print "1st";fflush("/dev/stdout");print 
"2nd"|"cat";close("cat")}'|cat
 
-../gawk 'BEGIN{print "1st";fflush("/dev/stdout");print 
"2nd"|"sort";close("sort")}'|cat
+$AWK 'BEGIN{print "1st";fflush("/dev/stdout");print 
"2nd"|"cat";close("cat")}'|cat
+
+$AWK 'BEGIN{print "1st";fflush("/dev/stdout");print "2nd"|"sort"}'|cat
+
+$AWK 'BEGIN{print "1st";fflush("/dev/stdout");print 
"2nd"|"sort";close("sort")}'|cat
diff --git a/test/localenl.sh b/test/localenl.sh
index ca3ee64..cd15bba 100755
--- a/test/localenl.sh
+++ b/test/localenl.sh
@@ -33,7 +33,11 @@
 # 
 #! /bin/sh
 
-AWK=${AWK:-../gawk}
+if [ "$AWK" = "" ]
+then
+       echo $0: You must set AWK >&2
+       exit 1
+fi
 
 # April 2010: Remove UNKNOWN, causes spurious failures on some systems
 for LC_ALL in C POSIX en_US.ISO-8859-1 en_US.UTF-8 #UNKNOWN 
diff --git a/test/rtlen.sh b/test/rtlen.sh
index 4a74045..85ad9c9 100755
--- a/test/rtlen.sh
+++ b/test/rtlen.sh
@@ -1,5 +1,9 @@
 #! /bin/sh
 
-AWK=${AWK:-../gawk}
+if [ "$AWK" = "" ]
+then
+       echo $0: You must set AWK >&2
+       exit 1
+fi
 
 $AWK 'BEGIN {printf "0\n\n\n1\n\n\n\n\n2\n\n"; exit}' | $AWK 'BEGIN {RS=""}; 
{print length(RT)}'
diff --git a/test/rtlen01.sh b/test/rtlen01.sh
index 72156d9..e7ee063 100755
--- a/test/rtlen01.sh
+++ b/test/rtlen01.sh
@@ -1,6 +1,10 @@
 #! /bin/sh
 
-AWK=${AWK:-../gawk}
+if [ "$AWK" = "" ]
+then
+       echo $0: You must set AWK >&2
+       exit 1
+fi
 
 $AWK 'BEGIN {printf "0"; exit}' | $AWK 'BEGIN {RS=""}; {print length(RT)}'
 $AWK 'BEGIN {printf "0\n"; exit}' | $AWK 'BEGIN {RS=""}; {print length(RT)}'

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |    6 +
 README.LONG_DOUBLE                                 |  241 ++
 TODO.LDBL                                          |   27 -
 configh.in                                         |   24 +-
 configure                                          |  196 +-
 configure.ac                                       |    3 +-
 long_double.c                                      |   79 +-
 m4/ChangeLog                                       |    4 +
 m4/long_double.m4                                  |   66 +-
 main.c                                             |   12 +
 misc/ChangeLog                                     |    8 +-
 misc/Makefile                                      |  123 +-
 misc/TODO.LDBL                                     |   48 +
 misc/float128.c                                    |    8 +
 misc/float80.c                                     |    8 +
 misc/{ldbl-tests => gawk_libm_tests}/atan2.awk     |    0
 misc/{ldbl-tests => gawk_libm_tests}/cos.awk       |    0
 misc/{ldbl-tests => gawk_libm_tests}/exp.awk       |    0
 misc/{ldbl-tests => gawk_libm_tests}/fmod.awk      |    0
 .../{ldbl-tests => gawk_libm_tests}/ldblint128.awk |    0
 misc/{ldbl-tests => gawk_libm_tests}/ldblint128.ok |    0
 misc/{ldbl-tests => gawk_libm_tests}/ldblint64.awk |    0
 misc/{ldbl-tests => gawk_libm_tests}/ldblint64.ok  |    0
 misc/{ldbl-tests => gawk_libm_tests}/log.awk       |    0
 misc/{ldbl-tests => gawk_libm_tests}/pow.awk       |    0
 misc/{ldbl-tests => gawk_libm_tests}/sin.awk       |    0
 misc/{ldbl-tests => gawk_libm_tests}/sqrt.awk      |    0
 misc/gawk_math.c                                   |  265 +-
 misc/gawk_math.h                                   |    2 -
 {test => misc/ldbl_tests}/Gentests                 |   24 +-
 {test => misc/ldbl_tests}/Makefile.am              |  502 ++--
 misc/ldbl_tests/Makefile.in                        | 3439 ++++++++++++++++++++
 misc/ldbl_tests/Maketests                          | 1298 ++++++++
 test/Makefile.am                                   |   35 +-
 test/Makefile.in                                   |   38 +-
 test/Maketests                                     |    5 -
 test/fflush.sh                                     |   23 +-
 test/localenl.sh                                   |    6 +-
 test/rtlen.sh                                      |    6 +-
 test/rtlen01.sh                                    |    6 +-
 40 files changed, 5731 insertions(+), 771 deletions(-)
 create mode 100644 README.LONG_DOUBLE
 delete mode 100644 TODO.LDBL
 create mode 100644 misc/TODO.LDBL
 rename misc/{ldbl-tests => gawk_libm_tests}/atan2.awk (100%)
 rename misc/{ldbl-tests => gawk_libm_tests}/cos.awk (100%)
 rename misc/{ldbl-tests => gawk_libm_tests}/exp.awk (100%)
 rename misc/{ldbl-tests => gawk_libm_tests}/fmod.awk (100%)
 rename misc/{ldbl-tests => gawk_libm_tests}/ldblint128.awk (100%)
 rename misc/{ldbl-tests => gawk_libm_tests}/ldblint128.ok (100%)
 rename misc/{ldbl-tests => gawk_libm_tests}/ldblint64.awk (100%)
 rename misc/{ldbl-tests => gawk_libm_tests}/ldblint64.ok (100%)
 rename misc/{ldbl-tests => gawk_libm_tests}/log.awk (100%)
 rename misc/{ldbl-tests => gawk_libm_tests}/pow.awk (100%)
 rename misc/{ldbl-tests => gawk_libm_tests}/sin.awk (100%)
 rename misc/{ldbl-tests => gawk_libm_tests}/sqrt.awk (100%)
 copy {test => misc/ldbl_tests}/Gentests (71%)
 copy {test => misc/ldbl_tests}/Makefile.am (66%)
 create mode 100644 misc/ldbl_tests/Makefile.in
 create mode 100644 misc/ldbl_tests/Maketests


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]