Bug 1568

Summary: Incorrect code generated for AMH with inheritance
Product: TAO Reporter: Carlos O'Ryan <coryan>
Component: IDL CompilerAssignee: Jeff Parsons <parsons>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P3    
Version: 1.3.1   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 1638    
Attachments: A tar file with the regression test (for Linux)
A suggested patch... needs more testing
New patch, last one was broken
Improvements to the regression test

Description Carlos O'Ryan 2003-08-12 21:11:07 CDT
If an interface has base interfaces the IDL compiler does not generate some of 
the helper skeleton functions (in the *S.i file) used by the *S.cpp file.
I will attach a regression test and patches shortly.
Comment 1 Carlos O'Ryan 2003-08-12 21:13:31 CDT
Created attachment 224 [details]
A tar file with the regression test (for Linux)
Comment 2 Carlos O'Ryan 2003-08-12 21:16:06 CDT
Created attachment 225 [details]
A suggested patch... needs more testing
Comment 3 Carlos O'Ryan 2003-08-12 21:16:40 CDT
The patch has not been fully tested, I am just starting to build other tests 
and such.
Comment 4 Carlos O'Ryan 2003-08-13 09:39:39 CDT
Created attachment 226 [details]
New patch, last one was broken
Comment 5 Carlos O'Ryan 2003-08-13 09:42:52 CDT
Sorry, the first patch was broken, it generated incorrect code for AMI.  The new
patch generates compilable code, and the regression tests seem to work fine.
Comment 6 Carlos O'Ryan 2003-08-14 17:24:29 CDT
Created attachment 230 [details]
Improvements to the regression test
Comment 7 Jeff Parsons 2003-10-03 12:13:49 CDT
Accepted
Comment 8 Jeff Parsons 2003-11-22 11:14:47 CST
Fri Nov 21 14:57:06 2003  Jeff Parsons <j.parsons@vanderbilt.edu>

        * TAO_IDL/be/be_visitor_interface/amh_si.cpp:
        * TAO_IDL/be_include/be_visitor_interface/amh_si.h:

          New files containing a visitor that generates calls to
          base skeleton methods for base classes in AMH. These
          methods were not getting generated before.

        * TAO_IDL/be/be_interface.cpp:
        * TAO_IDL/be/be_visitor_interface.cpp:
        * TAO_IDL/be/be_visitor_interface/amh_ss.cpp:
        * TAO_IDL/be/be_visitor_interface/interface_si.cpp:
        * TAO_IDL/be_include/be_interface.h:
        * TAO_IDL/be_include/be_visitor_interface.h:
        * TAO_IDL/be_include/be_visitor_interface/amh_sh.h:
        * TAO_IDL/be_include/be_visitor_interface/interface_si.h:

          Changes related to the bug fix above. Thanks to Malcolm
          McRoberts <mmcroberts@ideorlando.org> for pointing out
          the problem. This closes {BUGID:1568]