comp.lang.ada
 help / color / mirror / Atom feed
* Did I find a (nearly-)gotcha here?
@ 2021-11-13  7:46 reinert
  2021-11-13  8:52 ` Niklas Holsti
  2021-11-13  8:53 ` Rod Kay
  0 siblings, 2 replies; 4+ messages in thread
From: reinert @ 2021-11-13  7:46 UTC (permalink / raw)


Hello,

Assume the following program:

with Text_Io; use Text_Io;
procedure test2 is
   procedure test_a(ok :    out Boolean) is
   begin
      if false then
         ok := true;
      end if;
   end test_a;
   procedure test_b(ok : in out Boolean) is
   begin
      if false then
         ok := true;
      end if;
   end test_b;
   ok_a,ok_b : Boolean := true;
begin
  test_a(ok_a);
  test_b(ok_b);
  Put_Line("ok_a = " & ok_a'Image);
  Put_Line("ok_b = " & ok_b'Image);
end test2;

I get the following output (using GNAT Community Edition):

ok_a = FALSE
ok_b = TRUE

As far as I understand, this is correct.
However, I think I remember that (some) older versions of the GNAT compiler gave a different result. Could others try?  And does my program example reveal an unnecessary gotcha?

reinert

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-11-14  8:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-13  7:46 Did I find a (nearly-)gotcha here? reinert
2021-11-13  8:52 ` Niklas Holsti
2021-11-13  8:53 ` Rod Kay
2021-11-14  8:25   ` G.B.

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