Blame test/delarprm.awk

Packit 575503
# From dragon!unagi.cis.upenn.edu!sjanet Tue Mar 25 17:12:20 1997
Packit 575503
# Return-Path: <dragon!unagi.cis.upenn.edu!sjanet>
Packit 575503
# Received: by skeeve.atl.ga.us (/\==/\ Smail3.1.22.1 #22.1)
Packit 575503
# 	id <m0w9eS4-000GWyC@skeeve.atl.ga.us>; Tue, 25 Mar 97 17:12 EST
Packit 575503
# Received: by vecnet.com (DECUS UUCP /2.0/2.0/2.0/);
Packit 575503
#           Tue, 25 Mar 97 16:58:36 EDT
Packit 575503
# Received: from gnu-life.ai.mit.edu by antaries.vec.net (MX V4.2 VAX) with SMTP;
Packit 575503
#           Tue, 25 Mar 1997 16:58:26 EST
Packit 575503
# Received: from linc.cis.upenn.edu by gnu-life.ai.mit.edu (8.8.5/8.6.12GNU) with
Packit 575503
#           ESMTP id QAA24350 for <bug-gnu-utils@prep.ai.mit.edu>; Tue, 25 Mar
Packit 575503
#           1997 16:56:59 -0500 (EST)
Packit 575503
# Received: from unagi.cis.upenn.edu (UNAGI.CIS.UPENN.EDU [158.130.8.153]) by
Packit 575503
#           linc.cis.upenn.edu (8.8.5/8.8.5) with ESMTP id QAA09424; Tue, 25 Mar
Packit 575503
#           1997 16:56:54 -0500 (EST)
Packit 575503
# Received: (from sjanet@localhost) by unagi.cis.upenn.edu (8.8.5/8.8.5) id
Packit 575503
#           QAA03969; Tue, 25 Mar 1997 16:56:50 -0500 (EST)
Packit 575503
# Date: Tue, 25 Mar 1997 16:56:50 -0500 (EST)
Packit 575503
# From: Stan Janet <sjanet@unagi.cis.upenn.edu>
Packit 575503
# Message-ID: <199703252156.QAA03969@unagi.cis.upenn.edu>
Packit 575503
# To: bug-gnu-utils@prep.ai.mit.edu
Packit 575503
# CC: arnold@gnu.ai.mit.edu
Packit 575503
# Subject: GNU awk 3.0.2 bug: fatal error deleting local array inside function
Packit 575503
# Status: ORf
Packit 575503
# 
Packit 575503
# Version: GNU Awk 3.0.2
Packit 575503
# Platforms: SunOS 4.1.1 (compiled with Sun cc)
Packit 575503
#            IRIX 5.3 (compiled with SGI cc)
Packit 575503
# Problem: Deleting local array inside function causes fatal internal error (and
Packit 575503
# 	core dump. The error does not occur when the variable "x", unused in
Packit 575503
# 	the example, is removed or when the function is declared foo(x,p).
Packit 575503
# 	When the function is declared foo(p,x), adding a dummy line that uses
Packit 575503
# 	"x", e.g. "x=1" does not prevent the error. If "p" is not deleted,
Packit 575503
# 	there is no error. If "p[1]" is used to delete the lone element, there
Packit 575503
# 	is no error.
Packit 575503
# 
Packit 575503
# ==== The program x.gawk ====
Packit 575503
Packit 575503
function foo(p,x) {
Packit 575503
	p[1]="bar"
Packit 575503
	delete p
Packit 575503
	return 0
Packit 575503
}
Packit 575503
Packit 575503
BEGIN {
Packit 575503
	foo()
Packit 575503
}
Packit 575503
Packit 575503
# ==== The output for "gawk -f x.gawk" (SunOS) ====
Packit 575503
# 
Packit 575503
# gawk: x.gawk:4: fatal error: internal error