STRUCT_MGVTBL_DEFINITION was added in commit
0f4eea8fa1 in 5.004_67 as
part of ML thread "[PATCH 5.004_67] Fixes for broken MS compiler" and
stopped being used in commit
acfe0abced in 5.7.2. STRUCT_MGVTBL_DEFINITION
was used to provide binary compatibility between C++ objs and C structs,
where extra C++ data was stored with each function * raising the member
size to 16 bytes instead of 4 on a 32 bit build, also see
http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/
2793a64f-ec09-495c-b995-
4f5b98a26321
The define in struct mgvtbl is a left over that wasn't removed. Remove it
to improve code readability.
*
*/
-#ifdef STRUCT_MGVTBL_DEFINITION
-STRUCT_MGVTBL_DEFINITION;
-#else
struct mgvtbl {
int (*svt_get) (pTHX_ SV *sv, MAGIC* mg);
int (*svt_set) (pTHX_ SV *sv, MAGIC* mg);
int (*svt_dup) (pTHX_ MAGIC *mg, CLONE_PARAMS *param);
int (*svt_local)(pTHX_ SV *nsv, MAGIC *mg);
};
-#endif
struct magic {
MAGIC* mg_moremagic;