comp.lang.ada
 help / color / mirror / Atom feed
From: l117593@cliffy.lfwc.lockheed.com (Cordes MJ)
Subject: Re: Elaboration order
Date: 1996/03/20
Date: 1996-03-20T00:00:00+00:00	[thread overview]
Message-ID: <4ip58c$gqo@cliffy.lfwc.lockheed.com> (raw)
In-Reply-To: DoJqBL.362@world.std.com

Robert A Duff (bobduff@world.std.com) wrote:
: In article <4inpiv$alk@cliffy.lfwc.lockheed.com>,
: Cordes MJ <l117593@cliffy.lfwc.lockheed.com> wrote:
: >As an aside to the RM discussion of this thread, how do I know 
: >that Ada compiler X will generate the correct (as defined in
: >the RM) elaboration order?

: You don't.  A compiler is a complex program, and probably has bugs.
: FWIW, I've never seen this particular bug in an Ada implementation.
: It's not very hard to get it right -- it's a fairly simple graph-walking
: algorithm.  I *have* seen bugs in Ada compilers, but not this particular
: bug.

: >I know that ACVC tests do not guarantee correct code generation.

: Yes, of course.  No test suite can be complete, since there are an
: infinite number of possible Ada programs.

: >Is the ACVC suite more complete when it comes to elaboration? 

: I dunno.  I know there are *some* tests for this.

: >...Is
: >there a standard benchmark used by compiler vendors?

: The ACVC.  Also, the ACEC or whatever it's called, which tests
: performance, as opposed to conformance to the Standard.  Beyond that,
: it's up to the compiler vendor to do whatever testing is deemed
: necessary.

: >...Or, for safety
: >critical functions, should I verify this for every application
: >build?

: For safety critical functions, you should not trust your compiler.  You
: should print out the machine code, and verify correctness at that level.
: This is very expensive, of course.  But if lives are at stake (or large
: amounts of money), that's what people do.  But there's nothing about
: elaboration order issues that makes this a particularly error-prone
: part.

Thanks for the input, but that doesn't help me quantify the risk. Scanning
the machine code for  a complex application (assume over 200 packages), looking
for a class of error which neither of us has seen, does not give me any
confidence that we would catch the error if it did show up. Some sort
of automated verification is a possibility, but I need a better understanding
of the risk before I propose a new tool. And getting a grasp on the risk
was the intent of my original post.

Is there anybody out there who is doing analysis on elaboration order?
: - Bob

--
---------------------------------------------------------------------
Michael J Cordes
Phone: (817) 935-3823
Fax:   (817) 935-3800
EMail: CordesMJ@lfwc.lockheed.com
---------------------------------------------------------------------




  reply	other threads:[~1996-03-20  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 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             ` Robert Dewar
1996-03-26  0:00     ` Laurent Guerby
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   ` Tucker Taft
1996-03-20  0:00   ` Norman H. Cohen
1996-03-20  0:00   ` Robert A Duff
1996-03-20  0:00     ` Norman H. Cohen
1996-03-20  0:00       ` Robert Dewar
     [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-19  0:00           ` Ted Dennison
1996-03-18  0:00         ` Robert Dewar
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         ` Chris McKnight
1996-03-21  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 [this message]
1996-03-20  0:00                 ` Robert Dewar
1996-03-21  0:00                   ` Ken Garlington
1996-03-20  0:00                 ` Robert A Duff
1996-03-22  0:00                   ` Cordes MJ
1996-03-23  0:00                 ` JP Thornley
1996-03-25  0:00                   ` Robert Dewar
1996-03-26  0:00                 ` JP Thornley
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 ` 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
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.
     [not found] <DoDMLL.1F9@world.std.com>
1996-03-18  0:00 ` Elaboration order Chris McKnight
  -- strict thread matches above, loose matches on Subject: below --
1996-03-18  0:00 Jean-Pierre Rosen
1996-03-21  0:00 ` Ken Garlington
replies disabled

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