This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [gnat] reuse of ASTs already constructed
- From: oliver dot kellogg at t-online dot de (Oliver Kellogg)
- To: gcc at gcc dot gnu dot org
- Date: Wed, 26 Aug 2009 19:45:29 +0200
- Subject: Re: [gnat] reuse of ASTs already constructed
- References: <1240349826.4554.76.camel@tidbit.site> <49EE4D58.8020404@adacore.com> <1240437226.4554.101.camel@tidbit.site> <49EF9892.1010703@adacore.com> <1246487007.4507.76.camel@tidbit.site>
- Reply-to: okellogg at users dot sourceforge dot net
I've been making progress on the Ada side, the basic usage pattern for
gnat1 and gnatmake is working.
There are two problems right now:
1) Mixing of Ada.Text_IO and Text_IO as described at
http://gcc.gnu.org/ml/gcc-help/2009-08/msg00113.html
2) The 'X' lines in the ALI files are not what they should be.
This is due to the fact that Lib.Xref.Generate_(Definition|Reference) is
called during semantic analysis. However, when I discover that a
tree was already built for a main unit by a previous compilation,
Sem is not redone for that tree. Depending on whether
Lib.Xref.Initialize is called per-job or per-file, this leads to either
too much or too little cross ref info.
Ideas?
Thanks,
Oliver
On Thu, 2009-07-02 at 00:23 +0200, Oliver Kellogg wrote:
> I am approaching the point where the basic multi-source mechanism
> in the gnat1/gnatmake Ada code is working but I am getting
> lots of crashes in the gigi/gnat_to_gnu triggered core gcc code.
> I will have to learn much more about the GCC internals than
> I know right now so progress will inevitably be slow.
>
> For your information I am appending the current patch that
> I am using, as well as a log of a valgrind session that shows
> some of the current problems.
>
> On Wed, 2009-04-22 at 18:22 -0400, Robert Dewar wrote:
> > Oliver Kellogg wrote:
> > > [...]
> > > One more thing, procedure Initialize crashes with a libc report of
> > > double free() when invoked more than once. (Found this while
> > > working on the gnat1 multi-source compile feature, see
> > > http://gcc.gnu.org/ml/gcc/2009-04/msg00380.html)
> > > FYI I'm attaching the patch that works for me.
> >
> > gnat1 does not have the capability of compiling more than one
> > source file without being loaded, yes there is some preparation
> > for this, but it would require major work to get this working,
> > there are many known problems.
>
> For interest, what are the known problems?
>
> Thanks,
>
> Oliver
>