comp.lang.ada
 help / color / mirror / Atom feed
From: Laurent.Guerby@enst-bretagne.fr (Laurent Guerby)
Subject: Re: Elaboration order
Date: 1996/03/26
Date: 1996-03-26T00:00:00+00:00	[thread overview]
Message-ID: <4xspevde88.fsf@leibniz.enst-bretagne.fr> (raw)
In-Reply-To: 314829CD.4FA9@lfwc.lockheed.com

Robert A Duff writes
: 
: Robert Dewar <dewar@cs.nyu.edu> wrote:
: >pragma Preelaborate is an important feature of Ada 95, one that everyone
: >should be throughly familiar with.
: 
: Yes, and pragma Pure is useful, too.
: 
: Unfortunately, I've had a great deal of trouble using Preelaborate and
: Pure, because I always find myself wanting to put in some debugging
: print-outs, and saying "with" of an I/O package poisons everything so I
: can't use Preelab or Pure.  And there's no telling when you're going to
: need a debugging print out.  And it's kind of a pain if you have to
: *remove* a pragma Preelaborate during the process of finding one bug,
: because that modification might introduce *another* bug, causing
: confusion.

   Here is a simple solution to this kind of problem :

package Pure_IO is
   pragma Pure;

   procedure Debug (Msg : in String);
   pragma Import (C, Debug);

end Pure_IO;

   Then do the dirty work  (body) in Ada (convention C)  or C. I don't
know if there's a pragma Import (Ada,  xxx). GNAT seems to compile it,
I haven't checked if Import (C, xxx) is legal in a Pure unit.
 
: Gdb is not quite up to the point where I can use it all the time instead
: of debugging print-outs.  (Of course, reading one's code is usually a
: better way of tracking down bugs, but not always.)

   It's true that the current GDB-GNAT has some weakpoints, but if you
add to your code (instead of plenty ugly "with Text_IO; Put_Line ...")
some "extra" procedures to set up complex data structures and to print
them (just like in the GNAT code anyway) it works quite well (even for
multiple  partitions or  multiple  tasks   if you   know what   you're
doing). BTW  report GDB problems according  to the  README file coming
with the GDB patch, this will help improving it.
   
: - Bob

-- 
--  Laurent Guerby, student at Telecom Bretagne (France), Team Ada
--  "Use the Source, Luke. The Source will be with you, always (GPL)"
--  http://www-eleves.enst-bretagne.fr/~guerby/ (GATO Project)
--  Try GNAT, the GNU Ada 95 compiler (ftp://cs.nyu.edu/pub/gnat)




  parent reply	other threads:[~1996-03-26  0:00 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <314701A1.469D@lfwc.lockheed.com>
1996-03-15  0:00 ` Elaboration order Robert I. Eachus
1996-03-15  0:00   ` Robert Dewar
     [not found] ` <1996Mar14.021345.9856@enterprise.rdd.lmsc.lockheed.com>
     [not found]   ` <314829CD.4FA9@lfwc.lockheed.com>
1996-03-15  0:00     ` Tucker Taft
1996-03-15  0:00       ` Ken Garlington
1996-03-16  0:00     ` Ted Dennison
1996-03-16  0:00     ` Joe Wierzbowski
1996-03-26  0:00       ` AdaWorks
1996-03-26  0:00         ` Robert Dewar
1996-03-26  0:00           ` Robert A Duff
1996-03-26  0:00             ` Robert Dewar
1996-03-26  0:00           ` IO in Pure packages, debugging Laurent Guerby
1996-03-26  0:00         ` Elaboration order Robert A Duff
1996-03-26  0:00     ` Laurent Guerby [this message]
1996-03-26  0:00       ` Robert A Duff
1996-03-18  0:00 ` Ted Dennison
1996-03-18  0:00 ` Ken Garlington
1996-03-19  0:00 ` Michel Gauthier
1996-03-20  0:00 ` DenReimer
1996-03-20  0:00   ` Robert A Duff
1996-03-20  0:00     ` Norman H. Cohen
1996-03-20  0:00       ` Robert Dewar
1996-03-20  0:00   ` Norman H. Cohen
1996-03-20  0:00   ` Tucker Taft
     [not found] ` <Do8JDv.A2v@world.std.com>
     [not found]   ` <31494143.3825@lfwc.lockheed.com>
1996-03-15  0:00     ` Robert A Duff
1996-03-18  0:00       ` Norman H. Cohen
     [not found]       ` <EACHUS.96Mar18143219@spectre.mitre.org>
1996-03-18  0:00         ` Robert Dewar
1996-03-18  0:00         ` Robert Dewar
1996-03-19  0:00           ` Ted Dennison
1996-03-20  0:00         ` David Emery
1996-03-15  0:00     ` Mark A Biggar
1996-03-18  0:00       ` Ken Garlington
1996-03-19  0:00         ` Norman H. Cohen
1996-03-20  0:00           ` Cordes MJ
1996-03-19  0:00             ` Robert Dewar
1996-03-21  0:00               ` Cordes MJ
1996-03-21  0:00               ` Ken Garlington
1996-03-20  0:00             ` Robert A Duff
1996-03-20  0:00               ` Cordes MJ
1996-03-20  0:00                 ` Robert A Duff
1996-03-22  0:00                   ` Cordes MJ
1996-03-20  0:00                 ` Robert Dewar
1996-03-21  0:00                   ` Ken Garlington
1996-03-23  0:00                 ` JP Thornley
1996-03-25  0:00                   ` Robert Dewar
1996-03-26  0:00                 ` JP Thornley
1996-03-19  0:00         ` Chris McKnight
1996-03-21  0:00           ` Ken Garlington
1996-03-20  0:00   ` Robert I. Eachus
1996-03-22  0:00   ` Robert I. Eachus
1996-03-22  0:00   ` Robert I. Eachus
1999-11-15  0:00 Elaboration Order Wolf-Dieter Heker
1999-11-15  0:00 ` Robert Dewar
1999-11-16  0:00   ` Wolf-Dieter Heker
1999-11-16  0:00     ` Robert Dewar
1999-11-16  0:00     ` Robert Dewar
1999-11-20  0:00       ` Simon Wright
1999-11-22  0:00         ` Robert Dewar
1999-11-23  0:00           ` Mats Weber
1999-11-16  0:00     ` David C. Hoos, Sr.
1999-11-15  0:00 ` Jean-Pierre Rosen
1999-11-15  0:00   ` Robert Dewar
1999-11-16  0:00     ` Jean-Pierre Rosen
1999-11-20  0:00       ` Simon Wright
  -- strict thread matches above, loose matches on Subject: below --
1996-03-18  0:00 Elaboration order Jean-Pierre Rosen
1996-03-21  0:00 ` Ken Garlington
     [not found] <DoDMLL.1F9@world.std.com>
1996-03-18  0:00 ` Chris McKnight
replies disabled

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