initialize bitfields through a union to keep purify happy

This commit is contained in:
peterl%netscape.com 1999-04-02 18:51:28 +00:00
Родитель ee221130d7
Коммит ad625281d0
3 изменённых файлов: 24 добавлений и 12 удалений

Просмотреть файл

@ -147,8 +147,13 @@ private:
public: public:
nsMapAttributesFunc mMapFunc; nsMapAttributesFunc mMapFunc;
nsIHTMLAttributes* mAttributes; nsIHTMLAttributes* mAttributes;
PRUint32 mHashSet: 1; union {
PRUint32 mHashCode: 31; struct {
PRUint32 mHashSet: 1;
PRUint32 mHashCode: 31;
};
PRUint32 mBitfiledInitializer; // this is a hack to allow initialization without pruify complaining about a UMR
};
}; };
AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes) AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes)
@ -156,8 +161,7 @@ AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAtt
mAttributes(aAttributes) mAttributes(aAttributes)
{ {
NS_ADDREF(mAttributes); NS_ADDREF(mAttributes);
mHashSet = 0; mBitfiledInitializer = 0;
mHashCode = 0;
} }
AttributeKey::~AttributeKey(void) AttributeKey::~AttributeKey(void)

Просмотреть файл

@ -147,8 +147,13 @@ private:
public: public:
nsMapAttributesFunc mMapFunc; nsMapAttributesFunc mMapFunc;
nsIHTMLAttributes* mAttributes; nsIHTMLAttributes* mAttributes;
PRUint32 mHashSet: 1; union {
PRUint32 mHashCode: 31; struct {
PRUint32 mHashSet: 1;
PRUint32 mHashCode: 31;
};
PRUint32 mBitfiledInitializer; // this is a hack to allow initialization without pruify complaining about a UMR
};
}; };
AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes) AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes)
@ -156,8 +161,7 @@ AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAtt
mAttributes(aAttributes) mAttributes(aAttributes)
{ {
NS_ADDREF(mAttributes); NS_ADDREF(mAttributes);
mHashSet = 0; mBitfiledInitializer = 0;
mHashCode = 0;
} }
AttributeKey::~AttributeKey(void) AttributeKey::~AttributeKey(void)

Просмотреть файл

@ -147,8 +147,13 @@ private:
public: public:
nsMapAttributesFunc mMapFunc; nsMapAttributesFunc mMapFunc;
nsIHTMLAttributes* mAttributes; nsIHTMLAttributes* mAttributes;
PRUint32 mHashSet: 1; union {
PRUint32 mHashCode: 31; struct {
PRUint32 mHashSet: 1;
PRUint32 mHashCode: 31;
};
PRUint32 mBitfiledInitializer; // this is a hack to allow initialization without pruify complaining about a UMR
};
}; };
AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes) AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAttributes)
@ -156,8 +161,7 @@ AttributeKey::AttributeKey(nsMapAttributesFunc aMapFunc, nsIHTMLAttributes* aAtt
mAttributes(aAttributes) mAttributes(aAttributes)
{ {
NS_ADDREF(mAttributes); NS_ADDREF(mAttributes);
mHashSet = 0; mBitfiledInitializer = 0;
mHashCode = 0;
} }
AttributeKey::~AttributeKey(void) AttributeKey::~AttributeKey(void)