diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | awk.h | 3 | ||||
-rw-r--r-- | main.c | 3 | ||||
-rw-r--r-- | pc/Makefile.tst | 14 |
4 files changed, 23 insertions, 5 deletions
@@ -6,6 +6,14 @@ did that one get by us for so long?) * mpfr.c (force_mpnum): Check for a + or - sign with nothing following it. + Unrelated. Make do_itrace a real variable so that it's easier to + change the value from a debugger. + + * awk.h (do_itrace): Declare. + (DO_ITRACE, do_itrace): Remove macros. + * main.c (do_itrace): Define. + (parse_args): Set do_itrace. + 2020-07-03 Arnold D. Robbins <arnold@skeeve.com> Fix a double free error with -M. Thanks to @@ -1140,6 +1140,7 @@ extern struct block_header nextfree[]; extern bool field0_valid; extern int do_flags; +extern bool do_itrace; /* separate so can poke from a debugger */ extern SRCFILE *srcfiles; /* source files */ @@ -1160,7 +1161,6 @@ enum do_flag_values { DO_PROFILE = 0x02000, /* profile the program */ DO_DEBUG = 0x04000, /* debug the program */ DO_MPFR = 0x08000, /* arbitrary-precision floating-point math */ - DO_ITRACE = 0x10000 /* trace byte-code instructions */ }; #define do_traditional (do_flags & DO_TRADITIONAL) @@ -1175,7 +1175,6 @@ enum do_flag_values { #define do_sandbox (do_flags & DO_SANDBOX) #define do_debug (do_flags & DO_DEBUG) #define do_mpfr (do_flags & DO_MPFR) -#define do_itrace (do_flags & DO_ITRACE) extern bool do_optimize; extern int use_lc_numeric; @@ -146,6 +146,7 @@ static void set_locale_stuff(void); static bool stopped_early = false; int do_flags = false; +bool do_itrace = false; /* provide simple instruction trace */ bool do_optimize = true; /* apply default optimizations */ static int do_nostalgia = false; /* provide a blast from the past */ static int do_binary = false; /* hands off my data! */ @@ -1617,7 +1618,7 @@ parse_args(int argc, char **argv) break; case 'I': - do_flags |= DO_ITRACE; + do_itrace = true; break; case 'l': diff --git a/pc/Makefile.tst b/pc/Makefile.tst index 9f8f5790..e998e421 100644 --- a/pc/Makefile.tst +++ b/pc/Makefile.tst @@ -258,8 +258,8 @@ NEED_LINT = \ NEED_LINT_OLD = lintold # List of tests that must be run with -M -NEED_MPFR = mpfrbigint mpfrbigint2 mpfrexprange mpfrfield mpfrieee mpfrmemok1 \ - mpfrnegzero mpfrnr mpfrrem mpfrrnd mpfrrndeval mpfrsort mpfrsqrt \ +NEED_MPFR = mpfrbigint mpfrbigint2 mpfrcase mpfrexprange mpfrfield mpfrieee mpfrmemok1 \ + mpfrnegzero mpfrnonum mpfrnr mpfrrem mpfrrnd mpfrrndeval mpfrsort mpfrsqrt \ mpfrstrtonum mpgforcenum mpfruplus mpfranswer42 @@ -3497,6 +3497,11 @@ mpfrbigint2: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk -M --non-decimal-data < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +mpfrcase: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk -M < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + mpfrfield: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk -M < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @@ -3507,6 +3512,11 @@ mpfrnegzero: @AWKPATH="$(srcdir)" $(AWK) -f $@.awk -M >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ +mpfrnonum: + @echo $@ + @AWKPATH="$(srcdir)" $(AWK) -f $@.awk -M < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ + @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ + mpfrnr: @echo $@ @AWKPATH="$(srcdir)" $(AWK) -f $@.awk -M < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ |