aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--awk.h2
-rw-r--r--awkgram.c23
-rw-r--r--awkgram.y23
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/gawk.texi5
-rw-r--r--doc/gawktexi.in5
-rw-r--r--pc/ChangeLog5
-rw-r--r--pc/Makefile.tst101
-rw-r--r--pc/config.h3
10 files changed, 139 insertions, 39 deletions
diff --git a/ChangeLog b/ChangeLog
index bdb9ace0..21063e42 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-04-06 Arnold D. Robbins <arnold@skeeve.com>
+
+ * awk.h (force_number): Add `!= 0' check to bitwise operation.
+ * awkgram.y: Same, many places.
+ (check_special): Simplify code for checking extension flags.
+
2015-04-05 Arnold D. Robbins <arnold@skeeve.com>
* awkgram.y (install_builtins): If do_traditional is true, do not
diff --git a/awk.h b/awk.h
index 6f812e71..c6467953 100644
--- a/awk.h
+++ b/awk.h
@@ -1784,7 +1784,7 @@ unref(NODE *r)
static inline NODE *
force_number(NODE *n)
{
- return (n->flags & NUMCUR) ? n : str2number(n);
+ return (n->flags & NUMCUR) != 0 ? n : str2number(n);
}
#endif /* GAWKDEBUG */
diff --git a/awkgram.c b/awkgram.c
index 9f96db0b..2cc2c549 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -3377,7 +3377,7 @@ regular_print:
if ((yyvsp[-1])->lasti->opcode == Op_concat) {
/* multiple (> 2) adjacent strings optimization */
- is_simple_var = ((yyvsp[-1])->lasti->concat_flag & CSVAR);
+ is_simple_var = ((yyvsp[-1])->lasti->concat_flag & CSVAR) != 0;
count = (yyvsp[-1])->lasti->expr_count + 1;
(yyvsp[-1])->lasti->opcode = Op_no_op;
} else {
@@ -4813,7 +4813,7 @@ add_srcfile(enum srctype stype, char *src, SRCFILE *thisfile, bool *already_incl
if (stype == SRC_CMDLINE || stype == SRC_STDIN)
return do_add_srcfile(stype, src, NULL, thisfile);
- path = find_source(src, & sbuf, &errno_val, stype == SRC_EXTLIB);
+ path = find_source(src, & sbuf, & errno_val, stype == SRC_EXTLIB);
if (path == NULL) {
if (errcode) {
*errcode = errno_val;
@@ -6675,10 +6675,10 @@ valinfo(NODE *n, Func_print print_func, FILE *fp)
{
if (n == Nnull_string)
print_func(fp, "uninitialized scalar\n");
- else if (n->flags & STRING) {
+ else if ((n->flags & STRING) != 0) {
pp_string_fp(print_func, fp, n->stptr, n->stlen, '"', false);
print_func(fp, "\n");
- } else if (n->flags & NUMBER) {
+ } else if ((n->flags & NUMBER) != 0) {
#ifdef HAVE_MPFR
if (is_mpg_float(n))
print_func(fp, "%s\n", mpg_fmt("%.17R*g", ROUND_MODE, n->mpg_numbr));
@@ -6687,10 +6687,10 @@ valinfo(NODE *n, Func_print print_func, FILE *fp)
else
#endif
print_func(fp, "%.17g\n", n->numbr);
- } else if (n->flags & STRCUR) {
+ } else if ((n->flags & STRCUR) != 0) {
pp_string_fp(print_func, fp, n->stptr, n->stlen, '"', false);
print_func(fp, "\n");
- } else if (n->flags & NUMCUR) {
+ } else if ((n->flags & NUMCUR) != 0) {
#ifdef HAVE_MPFR
if (is_mpg_float(n))
print_func(fp, "%s\n", mpg_fmt("%.17R*g", ROUND_MODE, n->mpg_numbr));
@@ -7658,7 +7658,7 @@ optimize_assignment(INSTRUCTION *exp)
switch (i2->opcode) {
case Op_concat:
if (i2->nexti->opcode == Op_push_lhs /* l.h.s is a simple variable */
- && (i2->concat_flag & CSVAR) /* 1st exp in r.h.s is a simple variable;
+ && (i2->concat_flag & CSVAR) != 0 /* 1st exp in r.h.s is a simple variable;
* see Op_concat in the grammer above.
*/
&& i2->nexti->memory == exp->nexti->memory /* and the same as in l.h.s */
@@ -8118,6 +8118,7 @@ check_special(const char *name)
{
int low, high, mid;
int i;
+ int non_standard_flags = 0;
#if 'a' == 0x81 /* it's EBCDIC */
static bool did_sort = false;
@@ -8129,6 +8130,11 @@ check_special(const char *name)
}
#endif
+ if (do_traditional)
+ non_standard_flags |= GAWKX;
+ if (do_posix)
+ non_standard_flags |= NOT_POSIX;
+
low = 0;
high = (sizeof(tokentab) / sizeof(tokentab[0])) - 1;
while (low <= high) {
@@ -8142,8 +8148,7 @@ check_special(const char *name)
else if (i > 0) /* token > mid */
low = mid + 1;
else {
- if ((do_traditional && (tokentab[mid].flags & GAWKX))
- || (do_posix && (tokentab[mid].flags & NOT_POSIX)))
+ if ((tokentab[mid].flags & non_standard_flags) != 0)
return -1;
return mid;
}
diff --git a/awkgram.y b/awkgram.y
index 077ff793..9c29db42 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -1421,7 +1421,7 @@ common_exp
if ($1->lasti->opcode == Op_concat) {
/* multiple (> 2) adjacent strings optimization */
- is_simple_var = ($1->lasti->concat_flag & CSVAR);
+ is_simple_var = ($1->lasti->concat_flag & CSVAR) != 0;
count = $1->lasti->expr_count + 1;
$1->lasti->opcode = Op_no_op;
} else {
@@ -2475,7 +2475,7 @@ add_srcfile(enum srctype stype, char *src, SRCFILE *thisfile, bool *already_incl
if (stype == SRC_CMDLINE || stype == SRC_STDIN)
return do_add_srcfile(stype, src, NULL, thisfile);
- path = find_source(src, & sbuf, &errno_val, stype == SRC_EXTLIB);
+ path = find_source(src, & sbuf, & errno_val, stype == SRC_EXTLIB);
if (path == NULL) {
if (errcode) {
*errcode = errno_val;
@@ -4337,10 +4337,10 @@ valinfo(NODE *n, Func_print print_func, FILE *fp)
{
if (n == Nnull_string)
print_func(fp, "uninitialized scalar\n");
- else if (n->flags & STRING) {
+ else if ((n->flags & STRING) != 0) {
pp_string_fp(print_func, fp, n->stptr, n->stlen, '"', false);
print_func(fp, "\n");
- } else if (n->flags & NUMBER) {
+ } else if ((n->flags & NUMBER) != 0) {
#ifdef HAVE_MPFR
if (is_mpg_float(n))
print_func(fp, "%s\n", mpg_fmt("%.17R*g", ROUND_MODE, n->mpg_numbr));
@@ -4349,10 +4349,10 @@ valinfo(NODE *n, Func_print print_func, FILE *fp)
else
#endif
print_func(fp, "%.17g\n", n->numbr);
- } else if (n->flags & STRCUR) {
+ } else if ((n->flags & STRCUR) != 0) {
pp_string_fp(print_func, fp, n->stptr, n->stlen, '"', false);
print_func(fp, "\n");
- } else if (n->flags & NUMCUR) {
+ } else if ((n->flags & NUMCUR) != 0) {
#ifdef HAVE_MPFR
if (is_mpg_float(n))
print_func(fp, "%s\n", mpg_fmt("%.17R*g", ROUND_MODE, n->mpg_numbr));
@@ -5320,7 +5320,7 @@ optimize_assignment(INSTRUCTION *exp)
switch (i2->opcode) {
case Op_concat:
if (i2->nexti->opcode == Op_push_lhs /* l.h.s is a simple variable */
- && (i2->concat_flag & CSVAR) /* 1st exp in r.h.s is a simple variable;
+ && (i2->concat_flag & CSVAR) != 0 /* 1st exp in r.h.s is a simple variable;
* see Op_concat in the grammer above.
*/
&& i2->nexti->memory == exp->nexti->memory /* and the same as in l.h.s */
@@ -5780,6 +5780,7 @@ check_special(const char *name)
{
int low, high, mid;
int i;
+ int non_standard_flags = 0;
#if 'a' == 0x81 /* it's EBCDIC */
static bool did_sort = false;
@@ -5791,6 +5792,11 @@ check_special(const char *name)
}
#endif
+ if (do_traditional)
+ non_standard_flags |= GAWKX;
+ if (do_posix)
+ non_standard_flags |= NOT_POSIX;
+
low = 0;
high = (sizeof(tokentab) / sizeof(tokentab[0])) - 1;
while (low <= high) {
@@ -5804,8 +5810,7 @@ check_special(const char *name)
else if (i > 0) /* token > mid */
low = mid + 1;
else {
- if ((do_traditional && (tokentab[mid].flags & GAWKX))
- || (do_posix && (tokentab[mid].flags & NOT_POSIX)))
+ if ((tokentab[mid].flags & non_standard_flags) != 0)
return -1;
return mid;
}
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 4d4b28c7..64d5c073 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-07 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Add a minor note to revisit FPAT pattern for CSV
+ files at some point.
+
2015-04-05 Andrew J. Schorr <aschorr@telemetry-investments.com>
* gawktexi.in: Replace http://gawkextlib.sourceforge.net with
diff --git a/doc/gawk.texi b/doc/gawk.texi
index d2d4107d..156208c3 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -7891,6 +7891,11 @@ contain at least one character. A straightforward modification
FPAT = "([^,]*)|(\"[^\"]+\")"
@end example
+@c FIXME: 4/2015
+@c Consider use of FPAT = "([^,]*)|(\"[^\"]*\")"
+@c (star in latter part of value) to allow quoted strings to be empty.
+@c Per email from Ed Morton <mortoneccc@comcast.net>
+
Finally, the @code{patsplit()} function makes the same functionality
available for splitting regular strings (@pxref{String Functions}).
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 5fe53190..9a876ee6 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -7491,6 +7491,11 @@ contain at least one character. A straightforward modification
FPAT = "([^,]*)|(\"[^\"]+\")"
@end example
+@c FIXME: 4/2015
+@c Consider use of FPAT = "([^,]*)|(\"[^\"]*\")"
+@c (star in latter part of value) to allow quoted strings to be empty.
+@c Per email from Ed Morton <mortoneccc@comcast.net>
+
Finally, the @code{patsplit()} function makes the same functionality
available for splitting regular strings (@pxref{String Functions}).
diff --git a/pc/ChangeLog b/pc/ChangeLog
index 218621eb..2a241b19 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,8 @@
+2015-04-07 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.tst: Sync with mainline.
+ * config.h: Sync with mainline.
+
2014-11-21 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.tst (id): Add an 'expect to fail for DJGPP' message.
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index 79d01ad9..4fb68df9 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -1,6 +1,6 @@
# Makefile for GNU Awk test suite.
#
-# Copyright (C) 1988-2014 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2015 the Free Software Foundation, Inc.
#
# This file is part of GAWK, the GNU implementation of the
# AWK Programming Language.
@@ -141,11 +141,11 @@ BASIC_TESTS = \
arrayref arrymem1 arryref2 arryref3 arryref4 arryref5 arynasty \
arynocls aryprm1 aryprm2 aryprm3 aryprm4 aryprm5 aryprm6 aryprm7 \
aryprm8 arysubnm asgext awkpath \
- back89 backgsub badassign1 \
- childin clobber closebad clsflnam compare compare2 concat1 concat2 \
+ back89 backgsub badassign1 badbuild \
+ callparam childin clobber closebad clsflnam compare compare2 concat1 concat2 \
concat3 concat4 convfmt \
datanonl defref delargv delarpm2 delarprm delfunc dfamb1 dfastress dynlj \
- eofsplit exit2 exitval1 exitval2 \
+ eofsplit exit2 exitval1 exitval2 exitval3 \
fcall_exit fcall_exit2 fldchg fldchgnf fnamedat fnarray fnarray2 \
fnaryscl fnasgnm fnmisc fordel forref forsimp fsbs fsrs fsspcoln \
fstabplus funsemnl funsmnam funstack \
@@ -160,13 +160,14 @@ BASIC_TESTS = \
nlinstr nlstrina noeffect nofile nofmtch noloop1 noloop2 nonl \
noparms nors nulrsend numindex numsubstr \
octsub ofmt ofmta ofmtbig ofmtfidl ofmts ofs1 onlynl opasnidx opasnslf \
+ paramasfunc1 paramasfunc2 \
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 \
+ rand range1 rebt8b1 redfilnm regeq regexpbrack regexprange regrange reindops \
reparse resplit rri1 rs rsnul1nl rsnulbig rsnulbig2 rstest1 rstest2 \
rstest3 rstest4 rstest5 rswhite \
- scalar sclforin sclifin sortempty splitargv splitarr splitdef \
+ scalar sclforin sclifin sortempty sortglos 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 \
@@ -180,18 +181,18 @@ UNIX_TESTS = \
GAWK_EXT_TESTS = \
aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
backw badargs beginfile1 beginfile2 binmode1 charasbytes \
- colonwarn clos1way dbugeval delsub devfd devfd1 devfd2 dumpvars exit \
- fieldwdth fpat1 fpat2 fpat3 fpatnull fsfwfs funlen \
+ colonwarn clos1way crlf dbugeval delsub devfd devfd1 devfd2 dumpvars exit \
+ fieldwdth fpat1 fpat2 fpat3 fpat4 fpatnull fsfwfs funlen \
functab1 functab2 functab3 fwtest fwtest2 fwtest3 \
genpot gensub gensub2 getlndir gnuops2 gnuops3 gnureops \
icasefs icasers id igncdym igncfs ignrcas2 ignrcase \
incdupe incdupe2 incdupe3 incdupe4 incdupe5 incdupe6 incdupe7 \
- include include2 indirectcall indirectcall2 \
+ include include2 indirectbuiltin indirectcall indirectcall2 \
lint lintold lintwarn \
manyfiles match1 match2 match3 mbstr1 \
nastyparm next nondec nondec2 \
- patsplit posix printfbad1 printfbad2 printfbad3 printhuge procinfs \
- profile1 profile2 profile3 profile4 profile5 profile6 profile7 pty1 \
+ patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge procinfs \
+ profile0 profile1 profile2 profile3 profile4 profile5 profile6 profile7 pty1 \
rebuf regnul1 regnul2 regx8bit reginttrad reint reint2 rsgetline rsglstdin rsstart1 \
rsstart2 rsstart3 rstest6 shadow sortfor sortu split_after_fpat \
splitarg4 strftime \
@@ -201,8 +202,8 @@ GAWK_EXT_TESTS = \
EXTRA_TESTS = inftest regtest
INET_TESTS = inetdayu inetdayt inetechu inetecht
MACHINE_TESTS = double1 double2 fmtspcl intformat
-MPFR_TESTS = mpfrnr mpfrnegzero mpfrrem mpfrrnd mpfrieee mpfrexprange \
- mpfrsort mpfrsqrt mpfrbigint
+MPFR_TESTS = mpfrnr mpfrnegzero mpfrmemok1 mpfrrem mpfrrnd mpfrieee \
+ mpfrexprange mpfrsort mpfrsqrt mpfrbigint
LOCALE_CHARSET_TESTS = \
asort asorti backbigs1 backsmalls1 backsmalls2 \
@@ -248,8 +249,8 @@ check: msg \
machine-msg-start machine-tests machine-msg-end \
charset-msg-start charset-tests charset-msg-end \
shlib-msg-start shlib-tests shlib-msg-end \
- mpfr-msg-start mpfr-tests mpfr-msg-end \
- pass-fail
+ mpfr-msg-start mpfr-tests mpfr-msg-end
+ @$(MAKE) pass-fail || { $(MAKE) diffout; exit 1; }
basic: $(BASIC_TESTS)
@@ -856,8 +857,13 @@ beginfile2:
dumpvars::
@echo $@
@AWKPATH="$(srcdir)" $(AWK) --dump-variables 1 < "$(srcdir)"/$@.in >/dev/null 2>&1 || echo EXIT CODE: $$? >>_$@
-# @mv awkvars.out _$@
- @$(MV) awkvars.out _$@
+ @grep -v ENVIRON < awkvars.out | grep -v PROCINFO > _$@; rm awkvars.out
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+profile0:
+ @echo $@
+ @$(AWK) --profile=ap-$@.out -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.in > /dev/null
+ @sed 1,2d < ap-$@.out > _$@; rm ap-$@.out
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
profile1:
@@ -971,6 +977,11 @@ mpfrrem:
@$(AWK) -M -f "$(srcdir)"/$@.awk > _$@ 2>&1
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+mpfrmemok1:
+ @echo $@
+ @$(AWK) -p/dev/stdout -M -f "$(srcdir)"/$@.awk 2>&1 | sed 1d > _$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
jarebug::
@echo $@
@echo Expect jarebug to fail with DJGPP and MinGW.
@@ -1195,6 +1206,16 @@ genpot:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk --gen-pot >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+paramasfunc1::
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --posix >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+paramasfunc2::
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --posix >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
Gt-dummy:
# file Maketests, generated from Makefile.am by the Gentests program
addcomma:
@@ -1322,6 +1343,16 @@ badassign1:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+badbuild:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
+callparam:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
childin:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1418,6 +1449,11 @@ exitval2:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+exitval3:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
fcall_exit:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1892,6 +1928,11 @@ regeq:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+regexpbrack:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
regexprange:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -1979,6 +2020,11 @@ sortempty:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+sortglos:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
splitargv:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2146,6 +2192,11 @@ backw:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+crlf:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
delsub:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2171,6 +2222,11 @@ fpat3:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+fpat4:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
fpatnull:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2283,6 +2339,11 @@ include:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+indirectbuiltin:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
indirectcall:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2354,6 +2415,11 @@ printfbad3:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+printfbad4:
+ @echo $@
+ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
procinfs:
@echo $@
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@@ -2585,6 +2651,7 @@ pass-fail:
fi
# This target for my convenience to look at all the results
+# Don't use POSIX or bash-isms so that it'll work on !@#$%^&*() Solaris.
diffout:
for i in _* ; \
do \
diff --git a/pc/config.h b/pc/config.h
index a6b2d4c4..fad8641a 100644
--- a/pc/config.h
+++ b/pc/config.h
@@ -117,9 +117,6 @@
/* Define to 1 if you have the <libintl.h> header file. */
#undef HAVE_LIBINTL_H
-/* Define to 1 if you have the `m' library (-lm). */
-#define HAVE_LIBM 1
-
/* Define to 1 if you have a fully functional readline library. */
/* #undef HAVE_LIBREADLINE */