help / color / mirror / Atom feed
From: "Randy Brukardt" <>
Subject: Re: Renaming primitives.
Date: Wed, 10 Jan 2024 20:18:39 -0600	[thread overview]
Message-ID: <unnj4v$2nj5s$> (raw)
In-Reply-To: unls1j$2f0up$

"Blady" <> wrote in message 
> Is a procedure renaming equivalent to a simple call?

General point: "Equivalent" is never true in programming language design. If 
construct A is equivalent in every way to construct B, then they have to be 
the same construct.

For instance, in your example below, the two subprogram declarations have 
different identifiers which have different visibility (two declarations 
cannot be at exactly the same place), so there is at least one way that 
they're not equivalent.

So, if you want to talk about "equivalence", you need to qualify that by 
what properties you are interested in.

> What is happening if My_Generic_Handler change?

Nothing. The names in a renaming are evaluated when the renaming is 
declared. If there are parts that could change, the compiler has to save the 
values at the point of the renaming. That's true for all forms of renaming 
(some names, like package names, can't change meaning so the example isn't 
possible, of course).

> I got:
> test_20240110_renproc.adb:47:14: error: too many arguments in call to 
> "log"
> Is it a correct or a GNAT issue?

Looks like a bug to me. Not too surprising, though, this sort of thing is a 
special case in a compiler and often added to pass an ACATS test or user bug 
report. Such fixes can often not be fully general.


  parent reply	other threads:[~2024-01-11  2:18 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-10 10:37 Renaming primitives Blady
2024-01-10 11:38 ` Jeffrey R.Carter
2024-01-11 10:06   ` Blady
2024-01-11 11:06     ` Jeffrey R.Carter
2024-01-10 12:13 ` Dmitry A. Kazakov
2024-01-11  2:09   ` Randy Brukardt
2024-01-11  2:18 ` Randy Brukardt [this message]
2024-01-11 10:09   ` Blady
2024-01-12  3:59     ` Randy Brukardt
2024-01-12  9:47       ` J-P. Rosen
2024-01-12 23:36         ` Lawrence D'Oliveiro
2024-01-12 10:29       ` Blady
2024-01-12 10:42     ` Blady
replies disabled

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