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