diff options
author | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2014-04-13 14:30:56 -0400 |
---|---|---|
committer | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2014-04-13 14:30:56 -0400 |
commit | 94e3f93395de538d73826e128281a3ea9591a5a9 (patch) | |
tree | 45257e4b024537c5e0e5a3037a99ea9765583c99 /eval.c | |
parent | c4300d657ba49db0b6d0f0884f41a29622edc58b (diff) | |
parent | a4b59faf911743b30f2e6e979c4f9c1ea0669ac3 (diff) | |
download | egawk-94e3f93395de538d73826e128281a3ea9591a5a9.tar.gz egawk-94e3f93395de538d73826e128281a3ea9591a5a9.tar.bz2 egawk-94e3f93395de538d73826e128281a3ea9591a5a9.zip |
Merge branch 'master' into select
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -440,6 +440,7 @@ flags2str(int flagval) { WSTRCUR, "WSTRCUR" }, { MPFN, "MPFN" }, { MPZN, "MPZN" }, + { NULL_FIELD, "NULL_FIELD" }, { ARRAYMAXED, "ARRAYMAXED" }, { HALFHAT, "HALFHAT" }, { XARRAY, "XARRAY" }, @@ -1183,7 +1184,7 @@ r_get_field(NODE *n, Func_ptr *assign, bool reference) *assign = reset_record; } else lhs = get_field(field_num, assign); - if (do_lint && reference && (*lhs == Null_field || *lhs == Nnull_string)) + if (do_lint && reference && ((*lhs)->flags & NULL_FIELD) != 0) lintwarn(_("reference to uninitialized field `$%ld'"), field_num); return lhs; @@ -1243,7 +1244,7 @@ setup_frame(INSTRUCTION *pc) arg_count = (pc + 1)->expr_count; /* tail recursion optimization */ - tail_optimize = ((pc + 1)->tail_call && do_optimize > 1 + tail_optimize = ((pc + 1)->tail_call && do_optimize && ! do_debug && ! do_profile); if (tail_optimize) { |