comp.lang.ada
 help / color / mirror / Atom feed
From: Jere <jhb.chat@gmail.com>
Subject: Re: Possible GNAT bug, but wanted to see if it was a violtion of the RM
Date: Sun, 25 Feb 2018 07:55:49 -0800 (PST)
Date: 2018-02-25T07:55:49-08:00	[thread overview]
Message-ID: <f5441b9d-3291-4c4f-abb5-6645bd70aae1@googlegroups.com> (raw)
In-Reply-To: <lyinaljnc0.fsf@pushface.org>

On Sunday, February 25, 2018 at 6:55:13 AM UTC-5, Simon Wright wrote:
> Jere writes:
> 
> > Thanks!  That confirms my initial suspicion of it being related to
> > tamper checks, but I can't figure out how.  I looked through the GNAT
> > code and saw how they locked it in the Constant_Reference function,
> > but I can't for the life of me figure out how calling it using:
> >
> >    Package.Operation(Object,Params).Discriminant
> >
> > would work differently than
> >
> >    Object.Operation(Params).Discriminant 
> >
> > for that function call.
> 
> Compiling with -gnatG (to list an Ada-like representation of what the
> compiler has transformed your code into before it starts
> optimisation/code generation) shows that the Package.Operation version
> includes some finalization in Operation that's missing in the
> Object.Operation version. Looks very like a bug!

Thank you!  I wasn't aware of that switch.  Admittedly it is a bit 
difficult to read the output for the first time, but scanning the diff
I was able to see hints of what you were saying.  I'll file off a bug
report to AdaCore

  reply	other threads:[~2018-02-25 15:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-23  2:36 Possible GNAT bug, but wanted to see if it was a violtion of the RM Jere
2018-02-23  9:16 ` Simon Wright
2018-02-24 22:07   ` Jere
2018-02-25 11:55     ` Simon Wright
2018-02-25 15:55       ` Jere [this message]
2018-02-24 22:10   ` Jere
2018-02-25 11:50     ` Simon Wright
2018-02-25 15:22       ` Jere
replies disabled

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