From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,b200e62f21981276,start X-Google-Attributes: gid103376,public From: Rusnak Subject: GNAT compiler problem? Date: 1998/08/06 Message-ID: <35CA2A91.1DB668CF@netgate.net>#1/1 X-Deja-AN: 378660101 Content-Transfer-Encoding: 7bit Organization: Lockheed Martin Missiles and Space Company, Sunnyvale, Ca. Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1998-08-06T00:00:00+00:00 List-Id: I have been coding in Ada on a large project recently and until recently have had little problems. Unfortunately, my program recenlty coughed up a Storage_Error which surprised me. After removing my new code and putting it back in piece by piece, I got a genuine segmentation fault. I used gdb to help analyze the code, and found that it was crashing on a type definition. (The actual compiler-mangled procedure name was somethling like "my_package___read"). The type definition was a type derived off of a (base) tagged type. I then set a breakpoint there and reran the code. After stepping through the code after the first break, I found that the code execution was going through an infinite loop on type definitions: that is to say, the call to "my_package___read" (which the debugger indicated as originating from the type definition) called a procedure named something like "base_package___read_2" (originating at the base class type definition). It then called "my_package_read" again and so the cycle goes. I assume that the "read" is an internal procedure defined internally to the compiler, since no such procedure exists in either of the packages (name mangling in Ada by this compiler seems rather straightforward). Has anyone seen this behavior before? Thanks -John