aboutsummaryrefslogtreecommitdiffstats
path: root/vms
diff options
context:
space:
mode:
Diffstat (limited to 'vms')
-rw-r--r--vms/ChangeLog60
-rw-r--r--vms/descrip.mms2
-rw-r--r--vms/gawkmisc.vms2
-rw-r--r--vms/redirect.h2
-rw-r--r--vms/vms-conf.h157
-rw-r--r--vms/vms_args.c2
-rw-r--r--vms/vms_fwrite.c2
-rw-r--r--vms/vms_gawk.c13
-rw-r--r--vms/vms_misc.c2
-rw-r--r--vms/vms_popen.c2
-rw-r--r--vms/vmsbuild.com2
-rw-r--r--vms/vmstest.com440
12 files changed, 652 insertions, 34 deletions
diff --git a/vms/ChangeLog b/vms/ChangeLog
index 4c836875..9a477d7f 100644
--- a/vms/ChangeLog
+++ b/vms/ChangeLog
@@ -1,3 +1,63 @@
+Tue Jul 26 21:46:16 2005 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Release 3.1.5: Release tar file made.
+
+Mon May 23 20:54:31 2005 Pat Rankin <rankin@pactechdata.com>
+
+ * vms_gawk.c [gawk_cmd, #if __ia64__]: Switch from globalvalue
+ to strict_refdef and then take gawk_cmd's address during use.
+
+ * vmstest.com (concat1, longsub, arrayprm2, arrayprm3, arryref2,
+ arryref3, arryref4, arryref5, aryprm1, aryprm2, aryprm3,
+ aryprm4, aryprm5, aryprm6, aryprm7, aryprm8, concat2, concat3,
+ delarpm2, delfunc, exitval2, fmttest, fnarray2, fnmisc, fordel,
+ getline3, gsubasgn, gsubtest, gsubtst2, gsubtst4, gsubtst5,
+ hex, inputred, iobug1, manglprm, nested, nfneg, noloop1,
+ noloop2, nulrsend, prec, prtoeval, rstest1, rstest2, rstest3,
+ rstest4, rstest5, scalar, sortempty, splitarr, strcat1,
+ subsepnm, synerr1, uninit2, uninit3, uninit4, uninitialized,
+ unterm, wjposer1, zeroe0): New tests.
+
+Wed May 18 21:22:09 2005 Pat Rankin <rankin@pactechdata.com>
+
+ * vms_gawk.c [#if __ia64__]: Use #pragma extern_model globalvalue
+ for the declaration of gawk_cmd.
+
+Mon May 9 21:17:33 2005 Pat Rankin <rankin@pactechdata.com>
+
+ * vms-conf.h [#if DECC]: Use #pragma to suppress "new feature in C99"
+ diagnostic for structure field designator style initialization in
+ regexec.c.
+
+Thu May 5 21:17:48 2005 Anders Wallin <anders_s_wallin@yahoo.se>
+
+ * vms_gawk.c [__ia64__]: Change to lower case, then Itanium
+ VMS is happy.
+
+Sun May 1 08:20:00 2005 Pat Rankin <rankin@pactechdata.com>
+
+ * vms_gawk.c [gawk_cmd]: Declare as ordinary data symbol rather
+ than as a fake routine for Itanium. (Can't do that for other
+ configurations without getting tangled up in compiler-specific
+ details like `#pragma extern_model' and VAX C's `globalref'.)
+
+Fri Mar 4 20:46:20 2005 Pat Rankin <rankin@pactechdata.com>
+
+ * vms-conf.h: Define VAXCRTL when appropriate; used in builtin.c.
+
+Sat Feb 19 20:13:28 2005 Pat Rankin <rankin@pactechdata.com>
+
+ * vms-conf.h [RE_TOKEN_INIT_BUG]: Define for regcomp.c.
+
+Wed Feb 16 20:45:21 2005 Pat Rankin <rankin@pactechdata.com>
+
+ * vms-conf.h [NO_MBSUPPORT]: Define when compiling with VAX C.
+ [inline]: Define as empty when compiling with VAX C.
+
+Thu Jan 20 19:09:52 2005 Pat Rankin <rankin@pactechdata.com>
+
+ * vms-conf.h: Synchronize with configh.in.
+
Mon Aug 2 12:18:15 2004 Arnold D. Robbins <arnold@skeeve.com>
* Release 3.1.4: Release tar file made.
diff --git a/vms/descrip.mms b/vms/descrip.mms
index 9c3b2efd..975b0fec 100644
--- a/vms/descrip.mms
+++ b/vms/descrip.mms
@@ -122,7 +122,7 @@ DOCS= $(DOCDIR)gawk.1,$(DOCDIR)gawk.texi,$(DOCDIR)texinfo.tex
# Release of gawk
REL=3.1
-PATCHLVL=4
+PATCHLVL=5
# generic target
all : gawk
diff --git a/vms/gawkmisc.vms b/vms/gawkmisc.vms
index a364801d..28e06544 100644
--- a/vms/gawkmisc.vms
+++ b/vms/gawkmisc.vms
@@ -20,7 +20,7 @@
*
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
char quote = '\'';
diff --git a/vms/redirect.h b/vms/redirect.h
index 707e2a28..a0de1729 100644
--- a/vms/redirect.h
+++ b/vms/redirect.h
@@ -20,7 +20,7 @@
*
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* This file is included by custom.h for VMS-POSIX, or first
diff --git a/vms/vms-conf.h b/vms/vms-conf.h
index dd862b2e..5bfa3f88 100644
--- a/vms/vms-conf.h
+++ b/vms/vms-conf.h
@@ -7,7 +7,7 @@
*/
/*
- * Copyright (C) 1991-1992, 1995-1996, 1999, 2001, 2002, 2003 the Free Software Foundation, Inc.
+ * Copyright (C) 1991-1992, 1995-1996, 1999, 2001, 2002, 2003, 2005 the Free Software Foundation, Inc.
*
* This file is part of GAWK, the GNU implementation of the
* AWK Programming Language.
@@ -24,7 +24,7 @@
*
* 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/* switch statements are enabled in awk programs */
@@ -69,31 +69,48 @@
/* Define to 1 if you have the <argz.h> header file. */
#undef HAVE_ARGZ_H
+/* Define to 1 if you have the `asprintf' function. */
+#undef HAVE_ASPRINTF
+
/* Define if the GNU dcgettext() function is already present or preinstalled.
*/
#undef HAVE_DCGETTEXT
+/* Define to 1 if you have the declaration of `feof_unlocked', and to 0 if you
+ don't. */
+#define HAVE_DECL_FEOF_UNLOCKED 0
+
+/* Define to 1 if you have the declaration of `fgets_unlocked', and to 0 if
+ you don't. */
+#define HAVE_DECL_FGETS_UNLOCKED 0
+
+/* Define to 1 if you have the declaration of `getc_unlocked', and to 0 if you
+ don't. */
+#define HAVE_DECL_GETC_UNLOCKED 0
+
+/* Define to 1 if you have the declaration of `_snprintf', and to 0 if you
+ don't. */
+#define HAVE_DECL__SNPRINTF 0
+
+/* Define to 1 if you have the declaration of `_snwprintf', and to 0 if you
+ don't. */
+#define HAVE_DECL__SNWPRINTF 0
+
/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */
#undef HAVE_DOPRNT
/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H
-/* Define to 1 if you have the `feof_unlocked' function. */
-#undef HAVE_FEOF_UNLOCKED
-
-/* Define to 1 if you have the `fgets_unlocked' function. */
-#undef HAVE_FGETS_UNLOCKED
-
/* Define to 1 if you have the `fmod' function. */
#define HAVE_FMOD 1
+/* Define to 1 if you have the `fwprintf' function. */
+#undef HAVE_FWPRINTF
+
/* Define to 1 if you have the `getcwd' function. */
#define HAVE_GETCWD 1
-/* Define to 1 if you have the `getc_unlocked' function. */
-#undef HAVE_GETC_UNLOCKED
-
/* Define to 1 if you have the `getegid' function. */
#undef HAVE_GETEGID
@@ -124,9 +141,25 @@
/* Define if you have the iconv() function. */
#undef HAVE_ICONV
+/* Define if you have the 'intmax_t' type in <stdint.h> or <inttypes.h>. */
+#undef HAVE_INTMAX_T
+
/* Define if <inttypes.h> exists and doesn't clash with <sys/types.h>. */
#undef HAVE_INTTYPES_H
+/* Define if <inttypes.h> exists, doesn't clash with <sys/types.h>, and
+ declares uintmax_t. */
+#undef HAVE_INTTYPES_H_WITH_UINTMAX
+
+/* Define to 1 if you have the `iswctype' function. */
+#undef HAVE_ISWCTYPE
+
+/* Define to 1 if you have the `iswlower' function. */
+#undef HAVE_ISWLOWER
+
+/* Define to 1 if you have the `iswupper' function. */
+#undef HAVE_ISWUPPER
+
/* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
#undef HAVE_LANGINFO_CODESET
@@ -148,7 +181,10 @@
/* Define to 1 if you have the <locale.h> header file. */
#undef HAVE_LOCALE_H
-/* Define if you have the long long type. */
+/* Define if you have the 'long double' type. */
+#undef HAVE_LONG_DOUBLE
+
+/* Define if you have the 'long long' type. */
#undef HAVE_LONG_LONG
/* Define to 1 if you have the <malloc.h> header file. */
@@ -157,7 +193,7 @@
/* Define to 1 if you have the `mbrlen' function. */
#undef HAVE_MBRLEN
-/* Define to 1 if you have the `mbrtowc' function. */
+/* Define to 1 if mbrtowc and mbstate_t are properly declared. */
#undef HAVE_MBRTOWC
/* Define to 1 if you have the <mcheck.h> header file. */
@@ -169,6 +205,9 @@
/* Define to 1 if you have the `memcpy' function. */
#define HAVE_MEMCPY 1
+/* Define to 1 if you have the `memmove' function. */
+#define HAVE_MEMMOVE 1
+
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
@@ -199,6 +238,9 @@
/* we have portals on /p on this system */
#undef HAVE_PORTALS
+/* Define if your printf() function supports format strings with positions. */
+#undef HAVE_POSIX_PRINTF
+
/* Define to 1 if you have the `putenv' function. */
#undef HAVE_PUTENV
@@ -226,6 +268,10 @@
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
+/* Define if <stdint.h> exists, doesn't clash with <sys/types.h>, and declares
+ uintmax_t. */
+#undef HAVE_STDINT_H_WITH_UINTMAX
+
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
@@ -310,6 +356,12 @@
`HAVE_STRUCT_TM_TM_ZONE' instead. */
#undef HAVE_TM_ZONE
+/* Define to 1 if you have the `towlower' function. */
+#undef HAVE_TOWLOWER
+
+/* Define to 1 if you have the `towupper' function. */
+#undef HAVE_TOWUPPER
+
/* Define to 1 if you have the `tsearch' function. */
#undef HAVE_TSEARCH
@@ -320,6 +372,9 @@
/* Define to 1 if you have the `tzset' function. */
#define HAVE_TZSET 1 /* (faked in vms/vms_misc.c) */
+/* Define if you have the 'uintmax_t' type in <stdint.h> or <inttypes.h>. */
+#undef HAVE_UINTMAX_T
+
/* Define to 1 if you have the <unistd.h> header file. */
#ifdef __DECC
#define HAVE_UNISTD_H 1
@@ -336,15 +391,30 @@
/* Define to 1 if you have the <wchar.h> header file. */
#undef HAVE_WCHAR_H
+/* Define if you have the 'wchar_t' type. */
+#undef HAVE_WCHAR_T
+
/* Define to 1 if you have the `wcrtomb' function. */
#undef HAVE_WCRTOMB
/* Define to 1 if you have the `wcscoll' function. */
#undef HAVE_WCSCOLL
+/* Define to 1 if you have the `wcslen' function. */
+#undef HAVE_WCSLEN
+
+/* Define to 1 if you have the `wctype' function. */
+#undef HAVE_WCTYPE
+
/* Define to 1 if you have the <wctype.h> header file. */
#undef HAVE_WCTYPE_H
+/* systems should define this type here */
+#undef HAVE_WCTYPE_T
+
+/* systems should define this type here */
+#undef HAVE_WINT_T
+
/* Define to 1 if you have the `__argz_count' function. */
#undef HAVE___ARGZ_COUNT
@@ -354,6 +424,9 @@
/* Define to 1 if you have the `__argz_stringify' function. */
#undef HAVE___ARGZ_STRINGIFY
+/* Define to 1 if you have the `__fsetlocking' function. */
+#undef HAVE___FSETLOCKING
+
/* Define as const if the declaration of iconv() needs const. */
#undef ICONV_CONST
@@ -373,13 +446,16 @@
#define PACKAGE_NAME "GNU Awk"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GNU Awk 3.1.2"
+#define PACKAGE_STRING "GNU Awk 3.1.4c"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "gawk"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "3.1.2"
+#define PACKAGE_VERSION "3.1.4c"
+
+/* Define to 1 if *printf supports %F format */
+#undef PRINTF_HAS_F_FORMAT
/* Define if <inttypes.h> exists and defines unusable PRI* macros. */
#undef PRI_MACROS_BROKEN
@@ -387,12 +463,19 @@
/* Define if compiler has function prototypes */
#define PROTOTYPES 1
-/* use malloc instead of alloca in regex.c */
-#define REGEX_MALLOC 1
-
/* Define as the return type of signal handlers (`int' or `void'). */
#define RETSIGTYPE void
+/* The size of a `unsigned int', as computed by sizeof. */
+#define SIZEOF_UNSIGNED_INT 4
+
+/* The size of a `unsigned long', as computed by sizeof. */
+#define SIZEOF_UNSIGNED_LONG 4
+
+/* Define as the maximum value of type 'size_t', if the system doesn't define
+ it. */
+#define SIZE_MAX 0xffffffffUL
+
/* return type of sprintf */
#define SPRINTF_RET int
@@ -423,7 +506,7 @@
#define USE_INCLUDED_STRFTIME 1
/* Version number of package */
-#define VERSION "3.1.2"
+#define VERSION "3.1.4"
/* Define to 1 if on AIX 3.
System headers sometimes define this.
@@ -453,15 +536,20 @@
# undef __CHAR_UNSIGNED__
#endif
+/* Define like PROTOTYPES; this can be used by system headers. */
+#define __PROTOTYPES 1
+
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
/* Define to `int' if <sys/types.h> doesn't define. */
#undef gid_t
-/* Define as `__inline' if that's what the C compiler calls it, or to nothing
- if it is not supported. */
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
#undef inline
+#endif
/* Define to widest signed type if <inttypes.h> doesn't define. */
#define intmax_t long int
@@ -472,6 +560,13 @@
/* Define to `int' if <sys/types.h> doesn't define. */
#undef pid_t
+/* Define as the type of the result of subtracting two pointers, if the system
+ doesn't define it. */
+#undef ptrdiff_t
+
+/* Define to empty if the C compiler doesn't support this keyword. */
+#undef signed
+
/* Define to `unsigned' if <sys/types.h> doesn't define. */
#undef size_t
@@ -481,7 +576,8 @@
/* Define to `int' if <sys/types.h> doesn't define. */
#undef uid_t
-/* Define to widest unsigned type if <inttypes.h> doesn't define. */
+/* Define to unsigned long or unsigned long long if <stdint.h> and
+ <inttypes.h> don't define. */
#define uintmax_t unsigned long
#if 0
@@ -520,9 +616,15 @@
#define PIPES_SIMULATED 1
/*
- * %g format in VAXCRTL is broken (chooses %e format when should use %f).
+ * VAXCRTL is pre-ANSI and does some variations of numeric formatting
+ * differently than gawk expects.
*/
+#if defined(VAX) && !defined(__DECC)
+/* '0' format modifier for %e,%f,%g gives wrong results in many cases */
+#define VAXCRTL
+/* %g format chooses %e format when should use %f */
#define GFMT_WORKAROUND 1
+#endif
/*
* VAX C
@@ -534,10 +636,14 @@
#if defined(VAXC) && !defined(__STDC__)
#define __STDC__ 0
#define NO_TOKEN_PASTING
+#define signed /*empty*/
+#define inline /*empty*/
#ifndef __DECC /* DEC C does not support #pragma builtins even in VAXC mode */
#define VAXC_BUILTINS
#endif
/* #define YYDEBUG 0 */
+#define NO_MBSUPPORT /* VAX C's preprocessor can't handle mbsupport.h */
+#define RE_TOKEN_INIT_BUG /* regcomp.c */
#endif
/*
@@ -562,6 +668,11 @@
# undef __CRTL_VER
# define __CRTL_VER 60100000
#endif
+#if __DECC_VER >= 60400000 && !defined(DEBUG)
+/* disable "new feature in C99" diagnostics (for regex code);
+ NEWC99 ought to suffice but doesn't (at least in V6.4) */
+#pragma message disable (NEWC99,DESIGNATORUSE)
+#endif
#endif /* __DECC */
/*
diff --git a/vms/vms_args.c b/vms/vms_args.c
index e63758f7..e349925c 100644
--- a/vms/vms_args.c
+++ b/vms/vms_args.c
@@ -15,7 +15,7 @@
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/*
* [.vms]vms_arg_fixup - emulate shell's command line processing: handle
diff --git a/vms/vms_fwrite.c b/vms/vms_fwrite.c
index 2e9153f0..5e8669eb 100644
--- a/vms/vms_fwrite.c
+++ b/vms/vms_fwrite.c
@@ -14,7 +14,7 @@
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#include "awk.h" /* really "../awk.h" */
diff --git a/vms/vms_gawk.c b/vms/vms_gawk.c
index 619144bf..de19c732 100644
--- a/vms/vms_gawk.c
+++ b/vms/vms_gawk.c
@@ -1,6 +1,6 @@
/* vms_gawk.c -- parse GAWK command line using DCL syntax
- Copyright (C) 1991-1993, 1996, 2003 the Free Software Foundation, Inc.
+ Copyright (C) 1991-1993, 1996, 2003, 2005 the Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -14,7 +14,7 @@
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/*
@@ -36,8 +36,17 @@
#define Present(arg) vmswork(Cli_Present(arg))
#define Get_Value(arg,buf,siz) vmswork(Cli_Get_Value(arg,buf,siz))
+#ifndef __ia64__
extern void gawk_cmd(); /* created with $ SET COMMAND/OBJECT */
#define GAWK_CMD ((const void *)gawk_cmd)
+#else /* linker on Itanium is much pickier about such things */
+#pragma extern_model save
+#pragma extern_model strict_refdef
+/* (could use globalvalue rather than _refdef if we omit GAWK_CMD's `&') */
+extern void *gawk_cmd;
+#pragma extern_model restore
+#define GAWK_CMD ((const void *)&gawk_cmd)
+#endif
extern void _exit(int);
static int vms_usage(int);
diff --git a/vms/vms_misc.c b/vms/vms_misc.c
index 46c87ef1..cbc51c3a 100644
--- a/vms/vms_misc.c
+++ b/vms/vms_misc.c
@@ -14,7 +14,7 @@
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#define creat creat_dummy /* one of gcc-vms's headers has bad prototype */
#include "awk.h"
diff --git a/vms/vms_popen.c b/vms/vms_popen.c
index cfc5ecfc..599713fc 100644
--- a/vms/vms_popen.c
+++ b/vms/vms_popen.c
@@ -14,7 +14,7 @@
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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
#ifndef NO_VMS_PIPES
diff --git a/vms/vmsbuild.com b/vms/vmsbuild.com
index 2e169c77..107523bd 100644
--- a/vms/vmsbuild.com
+++ b/vms/vmsbuild.com
@@ -9,7 +9,7 @@ $! gawk 3.1.0 revised, Mar'01
$! gawk 3.1.1 revised, Apr'02
$!
$ REL = "3.1" !release version number
-$ PATCHLVL = "4"
+$ PATCHLVL = "5"
$!
$!
$ CCFLAGS = "/noList" ! "/noOpt/Debug"
diff --git a/vms/vmstest.com b/vms/vmstest.com
index 23e46e56..130411c6 100644
--- a/vms/vmstest.com
+++ b/vms/vmstest.com
@@ -51,7 +51,17 @@ $ basic_lst2 = "nlfldsep splitvar intest nfldstr nors" -
+ " psx96sub addcomma"
$ basic_lst3 = "rebt8b1 rebt8b2 leadnl funsemnl ofmtfidl" -
+ " onlynl arrymem1 compare2 minusstr membug1 forsimp" -
- + " concat1 longsub"
+ + " concat1 longsub arrayprm2 arrayprm3 arryref2" -
+ + " arryref3 arryref4 arryref5 aryprm1 aryprm2 aryprm3" -
+ + " aryprm4 aryprm5 aryprm6 aryprm7 aryprm8 concat2" -
+ + " concat3 delarpm2 delfunc exitval2 fmttest fnarray2" -
+ + " fnmisc fordel getline getline3 gsubasgn gsubtest" -
+ + " gsubtst2 gsubtst4 gsubtst5 hex inputred iobug1"
+$ basic_lst4 = "manglprm nested nfneg noloop1 noloop2" -
+ + " nulrsend prec prtoeval rstest1 rstest2 rstest3" -
+ + " rstest4 rstest5 scalar sortempty splitarr strcat1" -
+ + " subsepnm synerr1 uninit2 uninit3 uninit4" -
+ + " uninitialized unterm wjposer1 zeroe0"
$ echo "basic"
$basic_loop1: basic_test = f$element(0," ",basic_lst1)
$ basic_lst1 = basic_lst1 - basic_test - " "
@@ -65,6 +75,10 @@ $basic_loop3: basic_test = f$element(0," ",basic_lst3)
$ basic_lst3 = basic_lst3 - basic_test - " "
$ if basic_test.nes." " then gosub 'basic_test'
$ if basic_lst3.nes."" then goto basic_loop3
+$basic_loop4: basic_test = f$element(0," ",basic_lst4)
+$ basic_lst4 = basic_lst4 - basic_test - " "
+$ if basic_test.nes." " then gosub 'basic_test'
+$ if basic_lst4.nes."" then goto basic_loop4
$ return
$
$unix_tests: unix_tst_list = "fflush getlnhd pid pipeio1" -
@@ -1212,6 +1226,430 @@ $!! cmp longsub.ok tmp.
$ if $status then rm tmp.;
$ return
$
+$arrayprm2: echo "arrayprm2"
+$ gawk -f arrayprm2.awk arrayprm2.in >tmp.
+$ cmp arrayprm2.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$arrayprm3: echo "arrayprm3"
+$ gawk -f arrayprm3.awk arrayprm3.in >tmp.
+$ cmp arrayprm3.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$arryref2: echo "arryref2"
+$ gawk -f arryref2.awk arryref2.in >tmp.
+$ cmp arryref2.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$arryref3: echo "arryref3"
+$ set noOn
+$ gawk -f arryref3.awk arryref3.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp arryref3.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$arryref4: echo "arryref4"
+$ set noOn
+$ gawk -f arryref4.awk arryref4.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp arryref4.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$arryref5: echo "arryref5"
+$ set noOn
+$ gawk -f arryref5.awk arryref5.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp arryref5.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$aryprm1: echo "aryprm1"
+$ set noOn
+$ gawk -f aryprm1.awk aryprm1.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp aryprm1.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$aryprm2: echo "aryprm2"
+$ set noOn
+$ gawk -f aryprm2.awk aryprm2.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp aryprm2.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$aryprm3: echo "aryprm3"
+$ set noOn
+$ gawk -f aryprm3.awk aryprm3.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp aryprm3.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$aryprm4: echo "aryprm4"
+$ set noOn
+$ gawk -f aryprm4.awk aryprm4.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp aryprm4.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$aryprm5: echo "aryprm5"
+$ set noOn
+$ gawk -f aryprm5.awk aryprm5.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp aryprm5.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$aryprm6: echo "aryprm6"
+$ set noOn
+$ gawk -f aryprm6.awk aryprm6.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp aryprm6.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$aryprm7: echo "aryprm7"
+$ set noOn
+$ gawk -f aryprm7.awk aryprm7.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp aryprm7.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$aryprm8: echo "aryprm8"
+$ gawk -f aryprm8.awk aryprm8.in >tmp.
+$ cmp aryprm8.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$concat2: echo "concat2"
+$ gawk -f concat2.awk concat2.in >tmp.
+$ cmp concat2.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$concat3: echo "concat3"
+$ gawk -f concat3.awk concat3.in >tmp.
+$ cmp concat3.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$delarpm2: echo "delarpm2"
+$ gawk -f delarpm2.awk delarpm2.in >tmp.
+$ cmp delarpm2.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$delfunc: echo "delfunc"
+$ set noOn
+$ gawk -f delfunc.awk delfunc.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp delfunc.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$exitval2: echo "exitval2 skipped"
+$ return
+$!!exitval2: echo "exitval2"
+$ gawk -f exitval2.awk exitval2.in >tmp.
+$ cmp exitval2.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$fmttest: echo "fmttest"
+$ gawk -f fmttest.awk fmttest.in >tmp.
+$ cmp fmttest.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$fnarray2: echo "fnarray2"
+$ set noOn
+$ gawk -f fnarray2.awk fnarray2.in >tmp. 2>&1
+$ if .not.$status then call exit_code 1
+$ set On
+$ cmp fnarray2.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$fnmisc: echo "fnmisc"
+$ set noOn
+$ gawk -f fnmisc.awk fnmisc.in >tmp. 2>&1
+$ if .not.$status then call exit_code 1
+$ set On
+$ cmp fnmisc.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$fordel: echo "fordel"
+$ gawk -f fordel.awk fordel.in >tmp.
+$ cmp fordel.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$getline: echo "getline skipped"
+$ return
+$!!getline: echo "getline"
+$ gawk -f getline.awk getline.in >tmp.
+$ cmp getline.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$getline3: echo "getline3"
+$ gawk -f getline3.awk getline3.in >tmp.
+$ cmp getline3.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$gsubasgn: echo "gsubasgn"
+$ set noOn
+$ gawk -f gsubasgn.awk gsubasgn.in >tmp. 2>&1
+$ if .not.$status then call exit_code 1
+$ set On
+$ cmp gsubasgn.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$gsubtest: echo "gsubtest"
+$ gawk -f gsubtest.awk gsubtest.in >tmp.
+$ cmp gsubtest.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$gsubtst2: echo "gsubtst2"
+$ gawk -f gsubtst2.awk gsubtst2.in >tmp.
+$ cmp gsubtst2.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$gsubtst3: echo "gsubtst3"
+$ gawk --re-interval -f gsubtst3.awk gsubtst3.in >tmp.
+$ cmp gsubtst3.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$gsubtst4: echo "gsubtst4"
+$ gawk -f gsubtst4.awk gsubtst4.in >tmp.
+$ cmp gsubtst4.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$gsubtst5: echo "gsubtst5"
+$ gawk -f gsubtst5.awk gsubtst5.in >tmp.
+$ cmp gsubtst5.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$hex: echo "hex"
+$ gawk -f hex.awk hex.in >tmp.
+$ cmp hex.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$inputred: echo "inputred"
+$ gawk -f inputred.awk inputred.in >tmp.
+$ cmp inputred.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$iobug1: echo "iobug1"
+$ cat = "TYPE sys$input:"
+$ true = "exit 1" !success
+$ gawk -f iobug1.awk iobug1.in >tmp.
+$ cmp iobug1.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$manglprm: echo "manglprm"
+$ gawk -f manglprm.awk manglprm.in >tmp.
+$ cmp manglprm.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$nested: echo "nested"
+$ gawk -f nested.awk nested.in >tmp.
+$ cmp nested.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$nfneg: echo "nfneg"
+$ set noOn
+$ gawk -f nfneg.awk nfneg.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp nfneg.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$noloop1: echo "noloop1"
+$ gawk -f noloop1.awk noloop1.in >tmp.
+$ cmp noloop1.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$noloop2: echo "noloop2"
+$ gawk -f noloop2.awk noloop2.in >tmp.
+$ cmp noloop2.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$nulrsend: echo "nulrsend"
+$ gawk -f nulrsend.awk nulrsend.in >tmp.
+$ cmp nulrsend.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$prec: echo "prec"
+$ gawk -f prec.awk prec.in >tmp.
+$ cmp prec.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$prtoeval: echo "prtoeval"
+$ gawk -f prtoeval.awk prtoeval.in >tmp.
+$ cmp prtoeval.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$rstest1: echo "rstest1"
+$ gawk -f rstest1.awk rstest1.in >tmp.
+$ cmp rstest1.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$rstest2: echo "rstest2"
+$ gawk -f rstest2.awk rstest2.in >tmp.
+$ cmp rstest2.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$rstest3: echo "rstest3"
+$ gawk -f rstest3.awk rstest3.in >tmp.
+$ cmp rstest3.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$rstest4: echo "rstest4 skipped"
+$ return
+$!!rstest4: echo "rstest4"
+$ gawk -f rstest4.awk rstest4.in >tmp.
+$ cmp rstest4.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$rstest5: echo "rstest5 skipped"
+$ return
+$!!rstest5: echo "rstest5"
+$ gawk -f rstest5.awk rstest5.in >tmp.
+$ cmp rstest5.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$scalar: echo "scalar"
+$ set noOn
+$ gawk -f scalar.awk scalar.in >tmp. 2>&1
+$ if .not.$status then call exit_code 2
+$ set On
+$ cmp scalar.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$sortempty: echo "sortempty"
+$ gawk -f sortempty.awk sortempty.in >tmp.
+$ cmp sortempty.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$splitarr: echo "splitarr"
+$ gawk -f splitarr.awk splitarr.in >tmp.
+$ cmp splitarr.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$strcat1: echo "strcat1"
+$ gawk -f strcat1.awk strcat1.in >tmp.
+$ cmp strcat1.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$subsepnm: echo "subsepnm"
+$ gawk -f subsepnm.awk subsepnm.in >tmp.
+$ cmp subsepnm.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$synerr1: echo "synerr1"
+$ set noOn
+$ gawk -f synerr1.awk synerr1.in >tmp. 2>&1
+$ if .not.$status then call exit_code 1
+$ set On
+$ cmp synerr1.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$uninitialized: echo "uninitialized"
+$ gawk --lint -f uninitialized.awk uninitialized.in >tmp. 2>&1
+$ cmp uninitialized.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$uninit2: echo "uninit2"
+$ gawk --lint -f uninit2.awk uninit2.in >tmp. 2>&1
+$ cmp uninit2.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$uninit3: echo "uninit3"
+$ gawk --lint -f uninit3.awk uninit3.in >tmp. 2>&1
+$ cmp uninit3.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$uninit4: echo "uninit4"
+$ gawk --lint -f uninit4.awk uninit4.in >tmp. 2>&1
+$ cmp uninit4.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$unterm: echo "unterm"
+$ set noOn
+$ gawk -f unterm.awk unterm.in >tmp. 2>&1
+$ if .not.$status then call exit_code 1
+$ set On
+$ cmp unterm.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$wjposer1: echo "wjposer1"
+$ gawk -f wjposer1.awk wjposer1.in >tmp.
+$ cmp wjposer1.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
+$zeroe0: echo "zeroe0"
+$ gawk -f zeroe0.awk zeroe0.in >tmp.
+$ cmp zeroe0.ok tmp.
+$ if $status then rm tmp.;
+$ return
+$
$vms_io1: echo "vms_io1"
$ if f$search("vms_io1.ok").eqs.""
$ then create vms_io1.ok