Hotfix needed for new binutils (bug is in gcc)
|
|
(see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16625)
|
|
|
|
--- ./content/html/style/src/nsROCSSPrimitiveValue.h.orig 2004-08-13 11:50:44.000000000 +0200
|
|
+++ ./content/html/style/src/nsROCSSPrimitiveValue.h 2004-08-13 11:57:20.000000000 +0200
|
|
@@ -191,27 +191,37 @@
|
|
|
|
void Reset(void)
|
|
{
|
|
- switch (mType) {
|
|
- case CSS_IDENT:
|
|
+ // --- see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16625 ---
|
|
+ //
|
|
+ // we can't make a switch statement here because the compiler will create a
|
|
+ // jump-table in .ro_data for it and cause a link error such as:
|
|
+ //
|
|
+ // # .L1035' referenced in section `.rodata' of
|
|
+ // # ../../dist/lib/libgkconhtmlstyle_s.a(nsROCSSPrimitiveValue.o): defined in
|
|
+ // # discarded section `.gnu.linkonce.t._ZN21nsROCSSPrimitiveValue5ResetEv' of
|
|
+ // # ../../dist/lib/libgkconhtmlstyle_s.a(nsROCSSPrimitiveValue.o)
|
|
+ //
|
|
+ // - clifford (2004-08-13)
|
|
+ //
|
|
+ if (mType == CSS_IDENT) {
|
|
NS_ASSERTION(mValue.mAtom, "Null atom should never happen");
|
|
NS_RELEASE(mValue.mAtom);
|
|
- break;
|
|
- case CSS_STRING:
|
|
+ }
|
|
+ if (mType == CSS_STRING) {
|
|
NS_ASSERTION(mValue.mString, "Null string should never happen");
|
|
nsMemory::Free(mValue.mString);
|
|
mValue.mString = nsnull;
|
|
- break;
|
|
- case CSS_URI:
|
|
+ }
|
|
+ if (mType == CSS_URI) {
|
|
NS_IF_RELEASE(mValue.mURI);
|
|
- break;
|
|
- case CSS_RECT:
|
|
+ }
|
|
+ if (mType == CSS_RECT) {
|
|
NS_ASSERTION(mValue.mRect, "Null Rect should never happen");
|
|
NS_RELEASE(mValue.mRect);
|
|
- break;
|
|
- case CSS_RGBCOLOR:
|
|
+ }
|
|
+ if (mType == CSS_RGBCOLOR) {
|
|
NS_ASSERTION(mValue.mColor, "Null RGBColor should never happen");
|
|
NS_RELEASE(mValue.mColor);
|
|
- break;
|
|
}
|
|
}
|
|
|