comp.lang.ada
 help / color / mirror / Atom feed
From: Anh Vo <anhvofrcaus@gmail.com>
Subject: Re: Problem where a function is invoked once but called twice (when invocation is within an allocator).
Date: Mon, 9 May 2011 17:14:07 -0700 (PDT)
Date: 2011-05-09T17:14:07-07:00	[thread overview]
Message-ID: <85890ff0-343f-4d79-aba0-c3d214b4a28e@t19g2000yql.googlegroups.com> (raw)
In-Reply-To: 68228b55-070c-4678-b584-8278988e73fc@k3g2000prl.googlegroups.com

On May 9, 4:00 pm, Dan <d...@irvine.com> wrote:
> Here's a simpler test case.  Taking out the Pragma Pack makes it work.
>
> package Media is
>
>    type Color is
>       record
>          val : integer;
>       end record;
>
>    type Image is array (integer range <>) of Color;
>    pragma pack (Image);         -- matters!
>
>    function next_Frame return Image;
>
> end Media;
>
> with Ada.Text_IO; use Ada.Text_IO;
> package body Media is
>    counter: integer := 0;
>
>    function next_Frame return Image is
>    begin
>       put_line("in next_frame");
>       counter := counter + 1;
>       return (1..10 => (val => counter));
>    end next_Frame;
>
> end Media;
>
> with Media;
> with text_io;
> procedure Test1 is
>
>    Case_1 :        Media.Image :=     Media.Image' (Media.next_Frame);
>    Case_2 : access Media.Image := new Media.Image' (Media.next_Frame);
> begin
>    text_io.put_line(case_1(5).val'img);
>    text_io.put_line(case_2(5).val'img);
> end;

Thank you for making the simplest test case.

I got double calls, too. It is absolutely a compiler bug.

Anh Vo



  reply	other threads:[~2011-05-10  0:14 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-05  3:52 Problem where a function is invoked once but called twice (when invocation is within an allocator) Rod Kay
2011-05-05  5:43 ` J-P. Rosen
2011-05-05  6:12   ` Rod Kay
2011-05-05  8:22   ` Yannick Duchêne (Hibou57)
2011-05-05 10:59     ` Rod Kay
2011-05-05 17:07       ` Florian Weimer
2011-05-06  0:49         ` Rod Kay
2011-05-06 23:41           ` Anh Vo
2011-05-07  1:38             ` Rod Kay
2011-05-07  9:06               ` Georg Bauhaus
2011-05-07  9:45                 ` Rod Kay
2011-05-09 16:01               ` Anh Vo
2011-05-09 23:00                 ` Dan
2011-05-10  0:14                   ` Anh Vo [this message]
2011-05-10  0:24                     ` Rod Kay
2011-05-10  0:55                       ` Anh Vo
2011-05-11 17:23                         ` Dan
2011-05-12 22:35                         ` Rod Kay
2011-05-13 17:40                           ` Ludovic Brenta
2011-05-10  0:21                   ` Rod Kay
  -- strict thread matches above, loose matches on Subject: below --
2011-05-14  0:27 Rod Kay
replies disabled

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