[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Some important packages have been orphaned



On Thu, Aug 01, 2002 at 07:08:30PM +1000, Brian May wrote:
> On Thu, Aug 01, 2002 at 09:50:25AM +0200, Jérôme Marant wrote:
> > > So now, the old version of gnat has one bug (renames clause
> > > breaks controlled types) that has been confirmed by the maintainer
> > > (IIRC). This is easy to work around by replacing renames with :=.
> > 
> >   Is is going to be fixed in GCC CVS?

Fine.

> 
> If you mean GCC 3.1, it is already fixed.
> 
> > > The new version of gnat also has one bug: sin, cos, etc are broken and do
> > > not work.
> > 
> >   I intended to ask some questions about the future of GNAT in
> >   gcc cvs; they may tell us about their plan.
> >   There are quite some other important bugs: it seems that you
> >   cannot compile libraries as dynamic libraries.
> 
> I am not sure compiling Ada as dynamic libraries is a good idea, full
> stop.
> 
> My impression is although API compatability is an important factor in
> the specifications, ABI compatability was not.

  .ali files are versioned and you cannot mix libraries that have
  been compiled with different GNAT versions. So, if the ABI changes
  from one GNAT version to another, there are no changes to break
  anything; everything has to be recompiled.

  Having libgnat.so and libgnarl.so is not too much to ask.

> So, when compiling 3rd party packages, especially 3rd party generic
> packages, the compiler will try to access the source *.adb package to
> create an instant of the class[1].

  Generics are just like templates in C++ : nothing can be precompiled.

> 
> I think I also read a discussion here on debian-devel that the Ada
> compiler can also inline code from that *.adb file, too. (IIRC I think
> there was an inline pragma to enable this for individual functions, so
> it might be OK if used correctly).

  Yes, that's why libraries need to be shipped along with their sources.

> 
> Which in turn means that part of the code is being used in the compiled
> program, not the library. Upgrade the library to a new version, and
> I think the two parts of the code could end up being incompatable.

  Incompatible at what level ?

> 
> However, this is only the impression I get, I may be completely
> mistaken...
> 
> Compiling shared libraries is important, so maybe something can be done
> about these issues (which I think are compiler issues, not language
> issues), assuming that they are real issues, and have not already been
> resolved.

  I don't know who's to fix this.

> 
> > > I gather that the newer version of gnat must have other problems
> > > too, because I have been told it fails the tests, but I haven't
> > > encountered any other problems myself.
> > 
> >   Furthermore, there are no regression tests yet.
> > 
> >   Speaking about GDB, there seems to be someone not from ACT who
> >   is working on the Ada support in GDB. I don't know when it will
> >   be ready for release in GDB.
> 
> Good. At least it is being worked on.
> 
> Note:
> [1] somebody once told me that Gnat can reuse the code created for
> generics; however, I have seen documentation (old) on gdb with Ada
> patches that says that seperate code is used for each instance. I
> am not sure which story is now the accurate one.

  I have no clue about this.

-- 
Jérôme Marant



Reply to: