aboutsummaryrefslogtreecommitdiffstats
path: root/awkgram.y
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2012-10-05 12:56:31 +0200
committerArnold D. Robbins <arnold@skeeve.com>2012-10-05 12:56:31 +0200
commitbcb0224f8f2d19cd03a2527eec2f5eb42abef7cd (patch)
tree674e7412188b1c7fb6decd02575e70f0d74247b6 /awkgram.y
parent5caf2424094016b9a26c5d9d74b25cab39671478 (diff)
parent81896b422307105edb9908958bbedd09967d9a05 (diff)
downloadegawk-bcb0224f8f2d19cd03a2527eec2f5eb42abef7cd.tar.gz
egawk-bcb0224f8f2d19cd03a2527eec2f5eb42abef7cd.tar.bz2
egawk-bcb0224f8f2d19cd03a2527eec2f5eb42abef7cd.zip
Merge branch 'symtab'
Diffstat (limited to 'awkgram.y')
-rw-r--r--awkgram.y14
1 files changed, 14 insertions, 0 deletions
diff --git a/awkgram.y b/awkgram.y
index f5294e4e..22b0b767 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -973,6 +973,13 @@ regular_print:
$2->opcode = Op_push_array;
$2->memory = variable($2->source_line, arr, Node_var_new);
+ if (! do_posix && ! do_traditional) {
+ if ($2->memory == symbol_table)
+ fatal(_("`delete' is not allowed with SYMTAB"));
+ else if ($2->memory == func_table)
+ fatal(_("`delete' is not allowed with FUNCTAB"));
+ }
+
if ($4 == NULL) {
/*
* As of September 2012, POSIX has added support
@@ -1014,6 +1021,13 @@ regular_print:
$3->opcode = Op_push_array;
$1->expr_count = 0;
$$ = list_append(list_create($3), $1);
+
+ if (! do_posix && ! do_traditional) {
+ if ($3->memory == symbol_table)
+ fatal(_("`delete' is not allowed with SYMTAB"));
+ else if ($3->memory == func_table)
+ fatal(_("`delete' is not allowed with FUNCTAB"));
+ }
}
| exp
{ $$ = optimize_assignment($1); }