Ticket #1259 (new bug)

Opened 20 months ago

Last modified 2 months ago

Fix gcc 2.95.3 Type Info Functions

Reported by: bonefish Owned by: bonefish
Priority: normal Milestone: R1
Component: Build System Version: R1 development
Cc: Blocked By:
Platform: All Blocking:

Description

Currently the type info functions for __si_type_info and __class_type_info generated by gcc 2.95.3 are calling the base class(es) type info function(s), but instead of using the return value, refer to the base class type info(s) separately. This can cause problems with shared objects generated by older compilers (e.g. the BDirectWindow type info in libgame.so).

The place where to fix it is gcc/cp/rtti.c. expand_si_desc() is responsible for creating __si_type_info and expand_class_desc() for __class_type_info type info functions.

The naive approach to move the "get_typeid_1(type)" into the "elems" initialization in expand_si_desc() doesn't work, BTW.

Change History

follow-up: ↓ 2   Changed 2 months ago by scottmc

Was this worked on in the recent gcc update?

in reply to: ↑ 1   Changed 2 months ago by bonefish

Replying to scottmc:

Was this worked on in the recent gcc update?

Nope.

Note: See TracTickets for help on using tickets.