X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Fcp%2Fcp-tree.h;h=d5be18cb0747c12eb44d1cdc2f81891274b6687d;hb=e6863ea0503993635f7763c34ae0f6664c448738;hp=0935f1ec11e9bfcb7fbf5a8758c4adfc47801abd;hpb=8d3a02b826fecd5d815c4a7fc5864fb1dcd0878e;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h index 0935f1ec11e..d5be18cb074 100644 --- a/gcc/cp/cp-tree.h +++ b/gcc/cp/cp-tree.h @@ -1218,6 +1218,7 @@ struct lang_type unsigned com_interface : 1; unsigned non_pod_class : 1; + unsigned nearly_empty_p : 1; /* When adding a flag here, consider whether or not it ought to apply to a template instance if it applies to the template. If @@ -1226,7 +1227,7 @@ struct lang_type /* There are six bits left to fill out a 32-bit word. Keep track of this by updating the size of this bitfield whenever you add or remove a flag. */ - unsigned dummy : 6; + unsigned dummy : 5; int vsize; int vfield_parent; @@ -1461,6 +1462,11 @@ struct lang_type /* Nonzero means that this class type is a non-POD class. */ #define CLASSTYPE_NON_POD_P(NODE) (TYPE_LANG_SPECIFIC (NODE)->non_pod_class) +/* Nonzero if this class is "nearly empty", i.e., contains only a + virtual function table pointer. */ +#define CLASSTYPE_NEARLY_EMPTY_P(NODE) \ + (TYPE_LANG_SPECIFIC (NODE)->nearly_empty_p) + /* Nonzero means that this type is meant for communication via COM. */ #define CLASSTYPE_COM_INTERFACE(NODE) \ (TYPE_LANG_SPECIFIC(NODE)->com_interface)