comp.lang.ada
 help / color / mirror / Atom feed
From: Keith Thompson <kst@cts.com>
Subject: Re: Attributes 'Version and 'Body_Version
Date: 13 Nov 2001 00:07:07 -0800
Date: 2001-11-13T00:07:07-08:00	[thread overview]
Message-ID: <yecsnbjdrh0.fsf@king.cts.com> (raw)
In-Reply-To: 5ee5b646.0111121351.27897bc4@posting.google.com

dewar@gnat.com (Robert Dewar) writes:
> Keith Thompson <kst@cts.com> wrote in message
> news:<yec3d3nij4r.fsf@king.cts.com>...
> >  I don't see a
> > requirement for A'Version or A'Body_Version to change 
> > when this happens, 
> 
> Yes, you are missing something obvious, keep reading (all
> the way to para 5 :-)
> 
> Once again, the idea of 'Version is that it identifies
> the *object* executable code of a unit, to see if it is
> compatible, it has nothing to do with source versions.

Aha!

In RM95, E.3(5) says:

    The version of a compilation unit changes whenever the version changes
    for any compilation unit on which it depends semantically.  The
    version also changes whenever the compilation unit itself changes in a
    semantically significant way.  It is implementation defined whether
    there are other events (such as recompilation) that result in the
    version of a compilation unit changing.

However, the RM I was using is a version with Technical
Corrigendum 1 merged into it.  In that version, E.3(5) has been
modified and expanded to two paragraphs:

    The *version* of a compilation unit changes whenever the
    compilation unit changes in a semantically significant way.  This
    International Standard does not define the exact meaning of
    "semantically significant".  It is unspecified whether there are
    other events (such as recompilation) that result in the version of
    a compilation unit changing.
    
    If P is not a library unit, and P has no completion, then
    P'Body_Version returns the Body_Version of the innermost program
    unit enclosing the declaration of P.  If P is a library unit, and
    P has no completion, then P'Body_Version returns a value that is
    different from Body_Version of any version of P that has a
    completion.

I still don't see anything that precludes implementing 'Version as,
say, a checksum of the source, or perhaps a checksum of a canonically
formatted version of the source (so semantically insignificant changes
don't affect the version).

-- 
Keith Thompson (The_Other_Keith) kst@cts.com  <http://www.ghoti.net/~kst>
San Diego Supercomputer Center           <*>  <http://www.sdsc.edu/~kst>
Cxiuj via bazo apartenas ni.



  reply	other threads:[~2001-11-13  8:07 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-06 20:58 Attributes 'Version and 'Body_Version Marin David Condic
2001-11-07  3:39 ` Robert Dewar
2001-11-07 15:08   ` Marin David Condic
2001-11-07 20:51   ` Tony Gair
2001-11-07 16:45     ` Marin David Condic
2001-11-07 18:32       ` Vincent Marciante
2001-11-07 19:00         ` Marin David Condic
2001-11-07 23:11           ` Robert Dewar
2001-11-08 17:28             ` Stephen Leake
2001-11-08 17:43               ` Larry Kilgallen
2001-11-08 19:03                 ` Marin David Condic
2001-11-08 19:37                   ` Larry Kilgallen
2001-11-09  3:50                   ` Robert Dewar
2001-11-09  3:55                   ` Robert Dewar
2001-11-08 18:55             ` Marin David Condic
2001-11-07 19:54       ` Larry Kilgallen
2001-11-07 21:49         ` Marin David Condic
2001-11-07 23:08     ` Robert Dewar
2001-11-07 22:04 ` Keith Thompson
2001-11-08 16:34   ` Frank
2001-11-09  3:53   ` Robert Dewar
2001-11-10  0:07     ` Keith Thompson
2001-11-10  2:16       ` Larry Kilgallen
2001-11-11 15:18         ` Marin David Condic
2001-11-12 23:06           ` Tony Gair
2001-11-12 21:51       ` Robert Dewar
2001-11-13  8:07         ` Keith Thompson [this message]
2001-11-25 20:49           ` Nick Roberts
2001-11-26  2:30             ` Robert Dewar
2001-11-26  3:31               ` Nick Roberts
2001-11-26 15:42                 ` Robert Dewar
2001-11-26 20:05                   ` Nick Roberts
2001-11-27  3:56                     ` Robert Dewar
2001-11-27 17:51                       ` Nick Roberts
2001-11-28  0:44                       ` Larry Kilgallen
2001-11-28 15:49                         ` Robert Dewar
2001-11-28 16:53                         ` Larry Kilgallen
     [not found]                         ` <5ee5b646.0111280749.77fabe6c@posting.google.coOrganization: LJK Software <PFcoNrf74AeG@eisner.encompasserve.org>
2001-11-29  3:49                           ` Robert Dewar
2001-11-29 11:52                           ` Larry Kilgallen
     [not found]                           ` <5ee5b646.0111Organization: LJK Software <Kg7U2sTGDFyI@eisner.encompasserve.org>
2001-11-30  2:26                             ` Robert Dewar
2001-11-30  2:55                               ` Larry Kilgallen
2001-11-27 17:04                     ` Georg Bauhaus
replies disabled

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