Opened 17 years ago
Last modified 4 years ago
#1259 new bug
Fix gcc 2.95.3 Type Info Functions — at Initial Version
Reported by: | bonefish | Owned by: | bonefish |
---|---|---|---|
Priority: | normal | Milestone: | R1.1 |
Component: | Build System | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
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.