[Webkit-unassigned] [Bug 133028] Build break of 2.4.1 under mingw32/msys
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Sat May 24 14:19:17 PDT 2014
https://bugs.webkit.org/show_bug.cgi?id=133028
--- Comment #13 from Milan Crha <mcrha at redhat.com> 2014-05-24 14:19:39 PST ---
Created an attachment (id=232026)
--> (https://bugs.webkit.org/attachment.cgi?id=232026&action=review)
test.cpp for class sizes
(In reply to comment #11)
> > --- webkitgtk-2.4.1.old/Source/WebCore/rendering/RenderBlock.h 2014-05-16 19:07:53 +0000
> > +++ webkitgtk-2.4.1/Source/WebCore/rendering/RenderBlock.h 2014-05-17 07:38:01 +0000
> > @@ -613,8 +613,8 @@ public:
> > unsigned m_beingDestroyed : 1;
> > unsigned m_hasMarkupTruncation : 1;
> > unsigned m_hasBorderOrPaddingLogicalWidthChanged : 1;
> > - enum LineLayoutPath { UndeterminedPath, SimpleLinesPath, LineBoxesPath, ForceLineBoxesPath };
> > unsigned m_lineLayoutPath : 2;
> > + enum LineLayoutPath { UndeterminedPath, SimpleLinesPath, LineBoxesPath, ForceLineBoxesPath };
>
> You mean that the way this is declared doesn't allow the compiler to
> use one single uint32?
Correct. The version a used gcc in mingw32 in 4.8.1. I wrote this little test.cpp to see what sizes are reported by gcc and the mingw32 shows:
sizes: Base:1 Sub:8 Sub1:4 Sub2:4 Sub3:4 Sub4:4
while my linux version of gcc 4.8.2 shows:
sizes: Base:1 Sub:4 Sub1:4 Sub2:4 Sub3:4 Sub4:4
thus the windows windows version has a problem to "join" the bits when the properties are divided with an enum (see the test.cpp for all the variants).
> > --- webkitgtk-2.4.1.old/Source/WebCore/rendering/RenderBlock.cpp 2014-05-16 19:07:53 +0000
> > +++ webkitgtk-2.4.1/Source/WebCore/rendering/RenderBlock.cpp 2014-05-17 07:38:01 +0000
> > @@ -83,6 +83,7 @@ using namespace HTMLNames;
> >
> > struct SameSizeAsRenderBlock : public RenderBox {
> > uint32_t bitfields;
> > + enum LineLayoutPath { UndeterminedPath, SimpleLinesPath, LineBoxesPath, ForceLineBoxesPath };
> > };
>
> I don't understand why you need to declare that enum there again, what
> happens if you don't do it?
I thought it's needed, but you are right, this particular change is not required at all (see the test.cpp).
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list