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 >