[Ace-users] Re: [tao-users] [tao-bugzilla] : ["tao_idl -GA" can
generateincompilable code]
Johnny Willemsen
jwillemsen at remedy.nl
Tue Jun 19 07:45:32 CDT 2007
Hi,
Thanks for using the PRF form. The -GA option is added to reduce footprint
but has it restrictions. In the past it was more flexible but because of the
refactoring of the Any/TypeCode support we had to change it a little. Try to
move the Exception out of the interface, then it should generate compiling
code again, or remove the -GA option from the commandline.
Regards,
Johnny Willemsen
Remedy IT
Postbus 101
2650 AC Berkel en Rodenrijs
The Netherlands
www.theaceorb.nl / www.remedy.nl
*** Integrated compile and test statistics see http://remedy.nl ***
*** Commercial service and support for ACE/TAO/CIAO ***
*** See http://www.theaceorb.nl/en/support.html ***
> ACE VERSION: 5.4.8
>
> 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_hot
mailtextlink3
>
> _______________________________________________
> 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