Blame test/fordel.awk

Packit 575503
#Date: Mon, 7 Jun 2004 10:40:28 -0500
Packit 575503
#From: mary1john8@earthlink.net
Packit 575503
#To: arnold@skeeve.com
Packit 575503
#Subject: gawk internal errors
Packit 575503
#Message-ID: <20040607154028.GA2457@apollo>
Packit 575503
#
Packit 575503
#Hello,
Packit 575503
#
Packit 575503
#    gawk-3.1.3i internal errors:
Packit 575503
#
Packit 575503
#[1]
Packit 575503
#
Packit 575503
#$> ./gawk 'BEGIN { for (i in a) delete a; }'
Packit 575503
BEGIN { for (i in a) delete a; }
Packit 575503
#gawk: fatal error: internal error
Packit 575503
#Aborted
Packit 575503
#
Packit 575503
#------------------------------------------------------------------
Packit 575503
#--- awkgram.y.orig	2004-06-07 09:42:14.000000000 -0500
Packit 575503
#+++ awkgram.y	2004-06-07 09:45:58.000000000 -0500
Packit 575503
#@@ -387,7 +387,7 @@
Packit 575503
# 		 * Check that the body is a `delete a[i]' statement,
Packit 575503
# 		 * and that both the loop var and array names match.
Packit 575503
# 		 */
Packit 575503
#-		if ($8 != NULL && $8->type == Node_K_delete) {
Packit 575503
#+		if ($8 != NULL && $8->type == Node_K_delete && $8->rnode != NULL) {
Packit 575503
# 			NODE *arr, *sub;
Packit 575503
# 
Packit 575503
# 			assert($8->rnode->type == Node_expression_list);
Packit 575503
#------------------------------------------------------------------
Packit 575503
#
Packit 575503
#
Packit 575503
#[2]
Packit 575503
#
Packit 575503
#$> ./gawk 'BEGIN { printf("%3$*10$.*1$s\n", 20, 10, "hello"); }'
Packit 575503
#gawk: fatal error: internal error
Packit 575503
#Aborted
Packit 575503
#
Packit 575503
#------------------------------------------------------------------
Packit 575503
#--- builtin.c.orig	2004-06-07 10:04:20.000000000 -0500
Packit 575503
#+++ builtin.c	2004-06-07 10:06:08.000000000 -0500
Packit 575503
#@@ -780,7 +780,10 @@
Packit 575503
# 					s1++;
Packit 575503
# 					n0--;
Packit 575503
# 				}
Packit 575503
#-
Packit 575503
#+				if (val >= num_args) {
Packit 575503
#+					toofew = TRUE;
Packit 575503
#+					break;
Packit 575503
#+				}
Packit 575503
# 				arg = the_args[val];
Packit 575503
# 			} else {
Packit 575503
# 				parse_next_arg();
Packit 575503
#------------------------------------------------------------------
Packit 575503
#
Packit 575503
#
Packit 575503
#    Finally, a test for the rewritten get_src_buf():
Packit 575503
#
Packit 575503
#$> AWKBUFSIZE=2 make check
Packit 575503
#
Packit 575503
#I get 3 failed tests. Not sure this is of any interest.
Packit 575503
#
Packit 575503
#
Packit 575503
#Thanks,
Packit 575503
#John