[ace-users] Problem in the generation of stubs with forward declared interfaces.

Jeff Parsons j.parsons at vanderbilt.edu
Wed Aug 15 16:28:46 CDT 2007


Hi,

Will and I got delayed overnight in Philly so I just got in
today. I'll be in the office tomorrow and I'll take a look.

Jeff 

> -----Original Message-----
> From: Douglas C. Schmidt [mailto:schmidt at dre.vanderbilt.edu] 
> Sent: Friday, August 10, 2007 2:51 PM
> To: stefano.delliponti at gmail.com; parsons at dre.vanderbilt.edu; 
> ace-users at cse.wustl.edu
> Subject: Re: Problem in the generation of stubs with forward 
> declared interfaces.
> 
> Hi Stefano,
> 
>    Thanks very much for this bug report.  Jeff, can you please take a
> look at this when you get back to the USA next week?
> 
> Thanks,
> 
>         Doug
> 
> >    ACE VERSION: 5.5.10
> >
> >   HOST MACHINE and OPERATING SYSTEM:
> >      Dell, Windows XP
> >
> >   COMPILER NAME AND VERSION (AND PATCHLEVEL):
> >      Visual Studio 2005 SP1, Visual C++ 8
> >
> >    THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
> >    specific file, simply state which one]:
> >       #if defined FD_SETSIZE
> >       #	undef FD_SETSIZE
> >       #endif
> >       #define FD_SETSIZE 4096
> >       #define ACE_HAS_STANDARD_CPP_LIBRARY 1
> >       #include "ace/config-win32.h"
> >
> >    AREA/CLASS/EXAMPLE AFFECTED:
> >     TAO_IDL
> >
> >    DOES THE PROBLEM AFFECT:
> >        COMPILATION? Yes
> >
> >    SYNOPSIS:
> >     Problem in the generation of stubs with forward declared
> >interfaces referred in re-opened modules.
> >
> >    DESCRIPTION:
> >
> >      TAO_IDL generates wrong stubs when interfaces are forward
> >declared in a module and referred in                    the same re-
> >opened module, before the interface has been defined.
> >
> >    REPEAT BY:
> >
> >     Use the TAO_IDL compiler with this idl file:
> >
> >     // test.idl
> >
> >     module Test
> >     {
> >	     interface A;
> >     };
> >
> >     module Test
> >     {
> >	     struct B
> >        	{
> >	        	A an_a;
> >        	};
> >     };
> >
> >     This generates among the other things:
> >
> >       return
> >         Test::TAO::Objref_Traits<Test::A>::marshal (
> >             _tao_aggregate.an_a.in (), strm);
> >
> >
> >      The problem verifies also if the forward declaration is in
> >another file, included in this one.
> >
> >    SAMPLE FIX/WORKAROUND:
> >
> >      Repeat the forward declaration in the re-opened module.
> >
> >
> >Best regards,
> >
> >Stefano
> >
> 
> 
> -- 
> Dr. Douglas C. Schmidt                       Professor and 
> Associate Chair
> Electrical Engineering and Computer Science  TEL: (615) 343-8197
> Vanderbilt University                        WEB: 
> www.dre.vanderbilt.edu/~schmidt
> Nashville, TN 37203                          NET: 
> d.schmidt at vanderbilt.edu
> 



More information about the Ace-users mailing list