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=-0.3 required=5.0 tests=BAYES_00,FREEMAIL_FROM, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: buffer2.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!feeder.erje.net!eu.feeder.erje.net!news.mb-net.net!open-news-network.org!aioe.org!.POSTED!not-for-mail From: anon@att.net Newsgroups: comp.lang.ada Subject: Re: GNAT stuck, any idea on how to diagnose it? Date: Mon, 15 Sep 2014 09:56:27 +0000 (UTC) Organization: Aioe.org NNTP Server Message-ID: References: Reply-To: anon@att.net NNTP-Posting-Host: 8mD/5oAxAA/6o+Xey7oKmQ.user.speranza.aioe.org X-Complaints-To: abuse@aioe.org X-Notice: Filtered by postfilter v. 0.8.2 X-Newsreader: IBM NewsReader/2 2.0 Xref: number.nntp.dca.giganews.com comp.lang.ada:189011 Date: 2014-09-15T09:56:27+00:00 List-Id: To stop the call to gigi and the GCC backend. One can use the debug option "-gnatdH" the "dH" must be lower case 'd' and uppercase 'H'. Even though this option can be used on "gnat1" or "gnat compile" or even "gnat make". It should be limited to "gnat1" or "gnat compile". The compiler will generate a .ali and .s. The .s will only contain a 3 line header for a gcc assembly file. Now all of GNAT debug options can be found in compiler source package "debug" and a very simple explanation of each option in the file "debug.adb". Also, for those options that generate text output. Some of those can generate 100s of lines, even for a simple hello world program. An example is -gnatdt" outputs the a detailed AST listing. Note: Some of the text debug option will also conflict with other text debug options. So, you need to start slowly (one option at a time) until you learn which options you need and which option conflict with others. In , "Dmitry A. Kazakov" writes: >On Sun, 14 Sep 2014 21:45:16 +0000 (UTC), anon@att.net wrote: > >> One explanation is in translating Ada into the "GCC IR" code the >> "gigi" may use or alter the code that makes it difficult for the >> GCC optimization to process. > >Interesting. > >My impression based on how I dealt with the problem was that it was not the >compiler or the code generator which grabbed memory. Maybe it was the >symbols cross reference and other stuff that helped generating error >messages and prompts. For example, making a separate body or splitting off >a child package does not help. I seems that it must be a distance of two or >more packages apart from the offending body. So my wild guess was that GNAT >grabbed all symbols from all packages at the distance 1, even from the >invisible ones and their bodies or ones referenced from the bodies to make >suggestions on an error, but did not do that for the packages at the >distance 2. > >-- >Regards, >Dmitry A. Kazakov >http://www.dmitry-kazakov.de