From: Daniel Norte Moraes <danielcheagle@gmail.com>
Subject: Re: About procedures and functions in Ada Pure packages. Thanks!
Date: Sun, 21 Aug 2022 14:49:02 -0700 (PDT) [thread overview]
Message-ID: <1d93145f-7da3-4a02-b0f7-5ae5c38dedb4n@googlegroups.com> (raw)
In-Reply-To: <tdk3ll$lg4s$1@dont-email.me>
Em quarta-feira, 17 de agosto de 2022 às 22:12:24 UTC-3, Randy Brukardt escreveu:
> "Daniel Norte Moraes" <daniel...@gmail.com> wrote in message
> news:e1f43654-dba6-46d7...@googlegroups.com...
> > Hi! and Very Very Very Thanks!
> >
> > I building and change some packages and I have some doubts
> > about procedures and functions in Ada Pure packages.
> > I'm asking mainly the Ada Language Lawers. the Ada version is Ada2012.
> >
> > fact 1: Ada allow the compiler substitute a function with
> > the result of this function.
> >
> > ?This is valid to functions with 'in out' or 'out' parameters ?
> > ?This is valid to functions with 'not null access' parameters ?
> > ?This is valid to procedures with 'in out' or 'out' parameters ?
> > ?This is valid to procedures with 'not null access' parameters ?
> Yes, but there is a requirement that the input *values* are the same on both
> calls, and in the case of access types, everything reachable is the same on
> both calls. See 10.2.1(18/3) --
> http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-10-2-1.html#p18
>
> Practically, compilers will exclude some or all of these cases.
> > ?If they are replaced (on the second call onwards) by the result,
> > will the 'in' 'in out' and 'not null access' parameters be updated
> > if they are changed within the function or procedure?
> If the "in out" parameters are changed, then the values don't match on the
> second call, and the optimization isn't allowed. If the values are changed
> to the *same* value as original, the optimization would be allowed, but you
> couldn't tell whether or not the values were changed, so I think the
> question is moot in that case.
>
> Again, I doubt that an actual compiler would try to optimize in such cases
> (too hard to prove that they're OK).
>
> Randy.
Thanks Randy!
I'm satisfied.
Very Very Very GrateFull,
Best Wishes,
Dani.
prev parent reply other threads:[~2022-08-21 21:49 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-15 10:31 About procedures and functions in Ada Pure packages. Thanks! Daniel Norte Moraes
2022-08-18 1:12 ` Randy Brukardt
2022-08-21 21:49 ` Daniel Norte Moraes [this message]
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox