comp.lang.ada
 help / color / mirror / Atom feed
From: Keith Thompson <kst-u@mib.org>
Subject: Re: Compiler Bug
Date: Wed, 05 Dec 2007 22:51:39 -0800
Date: 2007-12-05T22:51:39-08:00	[thread overview]
Message-ID: <87hciwxqmc.fsf@kvetch.smov.org> (raw)
In-Reply-To: 97d0825d-ee08-45ef-b736-ca005caf1a81@e23g2000prf.googlegroups.com

REH <spamjunk@stny.rr.com> writes:
> On Dec 4, 5:25 pm, Lucretia <lucret...@lycos.co.uk> wrote:
>> On Dec 4, 9:58 pm, REH <spamj...@stny.rr.com> wrote:
>>
>> > I have an issue that my compiler vendor is trying to tell me is not a
>> > bug.  I have two functions.  They both have a local variable of the
>> > same name.  One calls the other (which is inlined).  The compiler
>> > treats the variable in the caller as if it is of the same type as the
>> > one in the callee.  Because of this, we get a constraint_error
>> > exception.  The problem goes away when the pragma inline is removed.
>> > The vendor is trying to tell me that this behavior is acceptable and
>> > correct.  I do not believe that it is.  Please tell me who it right.
>>
>> Which compiler? Have you tried it in GNAT?
>>
>> Can you post the code?
>
> No, I can't, sorry.  But the gist of it is:
>
> function F1 return T1;
> pragma Inline(F1);
>
> function F1 return T1 is
>   R : T1;
> begin
>   -- do stuff
>   return R;
> end F1;
>
> function F2 return T2 is
>   V : T1 := F1;
>   R : T2;
> begin
>   -- do stuff
>   return R;
> end F2;
>
> The compiler and debugger treat the R in F2 as if it is of type T1,
> not T2.  Exceeding the bounds of T1 cause F2 to raise a
> constraint_error.  The problem goes away if the pragma inline is
> removed.

If you can't post your original code for whatever reason (because it's
proprietary, or because it's too big, or whatever), can you construct
a small example that exhibits the same symptom?  Perhaps taking your
"gist of it" code above and adding definitions for T1 and T2 and some
output statements would do it.

Others here could try based on what you've posted, but without knowing
what compiler you're using they'd have no way of knowing if they've
reproduced the problem.

-- 
Keith Thompson (The_Other_Keith) <kst-u@mib.org>
Looking for software development work in the San Diego area.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"



  parent reply	other threads:[~2007-12-06  6:51 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-04 21:58 Compiler Bug REH
2007-12-04 22:25 ` Lucretia
2007-12-04 22:32   ` REH
2007-12-04 22:45     ` Randy Brukardt
2007-12-04 22:45     ` Randy Brukardt
2007-12-04 22:49       ` REH
2007-12-04 22:54       ` Adam Beneschan
2007-12-05  9:46         ` Samuel Tardieu
2007-12-05 16:07           ` Adam Beneschan
2007-12-06  3:30             ` Randy Brukardt
2007-12-06  3:30             ` Randy Brukardt
2007-12-06  6:51     ` Keith Thompson [this message]
2007-12-06 16:48       ` REH
  -- strict thread matches above, loose matches on Subject: below --
2008-04-01 11:52 Compiler bug Maciej Sobczak
2008-04-01 13:00 ` Ludovic Brenta
2008-04-01 20:43   ` Maciej Sobczak
2008-04-02 11:39 ` Alex R. Mosteo
2008-04-02 17:44 ` Per Sandberg
replies disabled

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