comp.lang.ada
 help / color / mirror / Atom feed
From: wayne lydecker <wlydeckr@pacbell.net>
Subject: stack frame too large
Date: 2000/11/10
Date: 2000-11-10T00:00:00+00:00	[thread overview]
Message-ID: <3A0C9FB8.9EBC9A7F@pacbell.net> (raw)

We are experiencing a rather severe error using Alsys on HP.
Evidently we are overflowing a stack frame which is causing
a corrupted heap.  Because I am playing with GNAT, I decided
to see if I can get more information using that compiler while
using the -fstack-check switch.  GNAT does indeed complain:

    frame size too large for reliable stack checking
    try reducing the number of local variables

I have been able to distill the error down to a very fundamental
set of code.  If I call a procedure that calls a function to
return an array of 2000 integers, I get the error.  1000
integers works fine.  If anyone can shed light on this unusual
problem, I would be most grateful.  I compile it with:

gnatmake -g test -cargs -fstack-check 

Here's the exact warning from GNAT:

fifo_queue.adb: In function `fifo_queue__deque':
fifo_queue.adb:11: warning: frame size too large for reliable stack checking
fifo_queue.adb:11: warning: try reducing the number of local variables

Here's the code (suitable for gnatchop).

Thanks,

-- Wayne.

package Fifo_Queue is

  type Data_Type is array (1..2000) of Integer;

  procedure Deque (Data : out Data_Type);

end Fifo_Queue;

package body Fifo_Queue is
  My_Data : Data_Type := (others => 0);

  function Deque return Data_Type is
  begin 
    return My_Data;
  end Deque;

  procedure Deque (Data  : out Data_Type) is
  begin
    Data := Deque; -- Line 11 as reported in warning.
  end Deque;

end Fifo_Queue;

with fifo_queue;
procedure test is
begin
  null;
end;




             reply	other threads:[~2000-11-10  0:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-11-10  0:00 wayne lydecker [this message]
2000-11-11  0:00 ` stack frame too large Marc A. Criley
2000-11-11  0:00   ` Wayne Lydecker
2000-11-11  0:00     ` Jeff Creem
2000-11-12  0:00     ` Marc A. Criley
2000-11-11  0:00 ` David Starner
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox