From: Bruno Haible Date: Mon, 27 Nov 2006 12:37:46 +0000 (+0000) Subject: Fix IS_INSTANCE macro to match what moopp generates. X-Git-Tag: v0.17~636 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5395ca326697a90764c812820eb33538f78f440c;p=thirdparty%2Fgettext.git Fix IS_INSTANCE macro to match what moopp generates. --- diff --git a/gnulib-local/ChangeLog b/gnulib-local/ChangeLog index 02450cd6a..06ff47d65 100644 --- a/gnulib-local/ChangeLog +++ b/gnulib-local/ChangeLog @@ -1,3 +1,7 @@ +2006-11-26 Bruno Haible + + * lib/moo.h (IS_INSTANCE): Fix reference to vtable. + 2006-11-26 Bruno Haible * build-aux/moopp: In the C++ class definition, add 'operator ==', diff --git a/gnulib-local/lib/moo.h b/gnulib-local/lib/moo.h index e5f3736ec..75e2adad6 100644 --- a/gnulib-local/lib/moo.h +++ b/gnulib-local/lib/moo.h @@ -229,10 +229,10 @@ typedef struct the file that implements CLASSNAME but is better optimized. */ #define IS_INSTANCE(obj,rootclassname,classname) \ (((const struct rootclassname##_representation_header *)(const struct any_##rootclassname##_representation *)(obj))->vtable->superclasses_length \ - >= classname##_implementation.superclasses_length \ + >= classname##_vtable.superclasses_length \ && ((const struct rootclassname##_representation_header *)(const struct any_##rootclassname##_representation *)(obj))->vtable->superclasses \ [((const struct rootclassname##_representation_header *)(const struct any_##rootclassname##_representation *)(obj))->vtable->superclasses_length \ - - classname##_implementation.superclasses_length] \ + - classname##_vtable.superclasses_length] \ == & classname##_typeinfo) #define IS_INSTANCE_PRIVATE(obj,rootclassname,classname) \ (((const struct rootclassname##_representation_header *)(const struct any_##rootclassname##_representation *)(obj))->vtable->superclasses_length \