[Ace-users] Re: [ace-bugs] [tao-bugzilla] [tao-users]: ["tao_idl
-GA" can generate incompilable code]
Douglas C. Schmidt
schmidt at dre.vanderbilt.edu
Fri Jun 15 15:46:02 CDT 2007
Hi Silas,
Thanks for using the PRF.
> ACE VERSION: 5.4.8
Please upgrade to ACE+TAO+CIAO x.5.8 (i.e., ACE 5.5.8, TAO 1.5.8, and
CIAO 0.5.8), which you can download from
http://download.dre.vanderbilt.edu
under the heading: "Latest Beta Kit".
The DOC groups at Washington University, UC Irvine, and Vanderbilt
University only provide "best effort" support for non-sponsors for the
latest release, as described in
http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/docs/ACE-bug-process.html
Thus, if you need more "predictable" help for earlier versions of
ACE+TAO, I recommend that you check out
http://www.dre.vanderbilt.edu/support.html
for a list of companies that will provide you with ACE+TAO commercial
support.
Thanks,
Doug
> HOST MACHINE and OPERATING SYSTEM:
> X86, WINDOWS XP
>
> TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
> COMPILER NAME AND VERSION (AND PATCHLEVEL):
>
> THE $ACE_ROOT/ace/config.h FILE [if you use a link to a platform-
> specific file, simply state which one]:
>
> THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE [if you
> use a link to a platform-specific file, simply state which one
> (unless this isn't used in this case, e.g., with Microsoft Visual
> C++)]:
>
> CONTENTS OF $ACE_ROOT/bin/MakeProjectCreator/config/default.features
> (used by MPC when you generate your own makefiles):
>
> AREA/CLASS/EXAMPLE AFFECTED:
> tao_idl using -GA option
>
> DOES THE PROBLEM AFFECT:
> COMPILATION
> [some code generated by tao_idl -GA does not compile]
>
> SYNOPSIS:
> ["tao_idl -GA" can generate incompilable code]
>
> DESCRIPTION:
> [typecodes do not appear to be generated correctly, when using tao_idl with
> the -GA option, for
> user exceptions declared inside of an interface. here's a walk-through
> example:
>
> the following idl snippet:
>
> module MyTestModule {
> interface MyTestInterface{
> exception MyTestException{
> };
> };
> };
>
>
> ...has the following c++ mapping:
>
> namespace MyTestModule {
> class MyTestInterface {
> //stuff...
> class MyTestException {
> //stuff...
> };
> };
> }
>
>
> NOTE 1) the generated code refers to MyTestException using correct full
> scoping:
>
> MyTestModule::MyTestInterface::MyTestException
>
>
>
> NOTE 2) when the typecode for MyTestException is defined, it is defined
> outside of the MyTestInterface class definition:
>
> namespace MyTestModule {
> static ::CORBA::TypeCode_ptr const _tc_MyTestException;
> }
>
>
>
> NOTE 3) the generated code refers to _tc_MyTestException using the same full
> scoping
> that is used in note 1):
>
> MyTestModule::MyTestInterface::_tc_MyTestException
>
> however, the scoping that was generated in note 2) is:
>
> MyTestModule::_tc_MyTestException
>
> ...and so compilation fails.
>
>
>
> NOTE 4) when the code is generated using tao_idl without the -GA option,
> _tc_MyTestException is declared
> inside of the MyTestInterface class definition, so the scoping in note 3) is
> correct and compilation
> succeeds.]
>
> REPEAT BY:
> [for the following idl snippet:
>
> //////////////////////////////////
> module MyTestModule {
> interface MyTestInterface{
> exception MyTestException{
> };
> };
> };
> //////////////////////////////////
>
> SUCCESS: generate code using "tao_idl"; generated code compiles
> successfully.
>
> FAILURE: generate code using "tao_idl -GA"; generated code does not compile.
> compilation will fail complaining that _tc_MyTestException is not a member
> of
> MyTestModule::MyTestInterface.]
>
> SAMPLE FIX/WORKAROUND:
> [ ]
>
> _________________________________________________________________
> Who's that on the Red Carpet? Play & win glamorous prizes.
> http://club.live.com/red_carpet_reveal.aspx?icid=REDCARPET_hotmailtextlink3
>
> _______________________________________________
> tao-bugzilla mailing list
> tao-bugzilla at mail.cse.wustl.edu
> http://mail.cse.wustl.edu/mailman/listinfo/tao-bugzilla
More information about the Ace-users
mailing list