From: lekktu on
On Jun 27, 5:33 am, a...(a)anon.org wrote:

> The compiler blowing up is an error, but, there are always a way around
> that type of error, if you find the correct syntax.  Try adding parenthesis
> around the output, since the compiler may see the "Dir" as value and
> the " & '\'" as extra not part of the statement.

I already know a couple ways around the bug, starting from going back
to

if Dir (Dir'Last) = '\' then
return Dir;
else
return Dir & '\';
end if;

all the way to

function Validate (Dir : in String) return String is
Validated : constant String := (if Dir (Dir'Last) = '\' then Dir
else Dir & '\');
begin
return Validated;
end Validate;


> And until the Ada2012 RM or documentation/examples come out from Adacore,
> its anyone guess on the true syntax of all additional statements.

This has nothing to do with syntax, which is correct AFAICS (please
note the above example with the Validated constant string compiles
just fine). It's a plain simple bug.

> Unless you want to spend time in reading the though the gnat Ada compiler..

I often do.
From: mahdert on
On Jun 16, 4:14 pm, Stephen Sangwine <s...(a)essex.ac.uk> wrote:
> The Libre site has a news item stating that Gnat GPL 2010
> will be available soon:
>
> http://libre.adacore.com/libre/
>
> Great news, as those of with Snow Leopard on Mac OS X
> currently don't have a free compiler available. It will
> also support Windows 7 (I am not sure if that is new as
> I haven't used Windows for a few years).

I installed the latest version of GNAT GPL on windows 7 and i cannot
get it to work. It seems that it is not compatible, so I will jave to
see if this new version can work well.