Re: [orbitcpp-list] Re: Module split between 2 files causes internal compiler error
Status: Beta
Brought to you by:
philipd
From: Phil D. <ph...@us...> - 2001-04-05 13:10:08
|
Hi Kuba, I've fixed this in CVS now. Thanks for a fantastic diagnosis! Cheers, Phil Kuba writes: > Maybe this will save You some work: > Look into IDLElement constructor (language.cc file). It appears that IDL_tree that comes from orbit-idl contains two separate elements for "A" module (one for file2.idl and one for included file1.idl). During gather pass the first module (that from file1.idl) is analyzed and inserted into orbitcpp tree correctly, but the second one (from file2.idl) is seen in IDLElement constructor as declaration that replaces forward declaration. This messes things up in xlate pass, when orbitcpp tree node is searched for IDL_tree element containing description of file1.idl "A" module, which was removed in gather pass. > > Best regards, > Kuba > > >Send orbitcpp-list mailing list submissions to > > orb...@li... > > > > To subscribe or unsubscribe via the World Wide Web, visit > > http://lists.sourceforge.net/lists/listinfo/orbitcpp-list > > or, via email, send a message with subject or body 'help' to > > orb...@li... > > > > You can reach the person managing the list at > > orb...@li... > > > > When replying, please edit your Subject line so it is more specific > > than "Re: Contents of orbitcpp-list digest..." > > > > > > Today's Topics: > > > > 1. Re: Module split between 2 files causes internal compiler error (Phil Dawes) > > > > --__--__-- > > > > Message: 1 > > From: "Phil Dawes" <ph...@us...> > > Date: Tue, 3 Apr 2001 10:27:24 +0100 (BST) > > To: orb...@li... > > Subject: Re: [orbitcpp-list] Module split between 2 files causes internal compiler error > > Reply-To: orb...@li... > > > > Hi Kuba, > > > > I can reproduce this problem with CVS orbitcpp. I'll try and have a > > look at it tonight. > > > > Cheers, > > > > Phil > > > > Kuba writes: > > > The following situation causes orbitcpp to generate internal error (ORBit 0.5.7 works fine). > > > I have 2 files in the same directory: > > > file1.idl: > > > --------------- > > > module A { > > > interface Unrelevant1 { > > > }; > > > }; > > > --------------- > > > file2.idl: > > > --------------- > > > #include <file1.idl> > > > module A { > > > interface Unrelevant2 { > > > }; > > > }; > > > --------------- > > > Then: > > > orbit-idl -l c++ -I. file2.idl > > > > > > Internal error. > > > I tried to track this, but orbitcpp code is still too sophisticated for me :( > > > > > > Kuba > > > > > > > > > > > > > > > > > > -- > > > > > > > > > _______________________________________________ > > > orbitcpp-list mailing list > > > orb...@li... > > > http://lists.sourceforge.net/lists/listinfo/orbitcpp-list > > > > > > > > > > --__--__-- > > > > _______________________________________________ > > orbitcpp-list mailing list > > orb...@li... > > http://lists.sourceforge.net/lists/listinfo/orbitcpp-list > > > > > > End of orbitcpp-list Digest > > > > > > > > -- > > > _______________________________________________ > orbitcpp-list mailing list > orb...@li... > http://lists.sourceforge.net/lists/listinfo/orbitcpp-list |