Bug 102475 - [Qt][Mac] Fix the build after r124873
Summary: [Qt][Mac] Fix the build after r124873
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 420+
Hardware: All All
: P1 Blocker
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 101023
  Show dependency treegraph
 
Reported: 2012-11-16 03:38 PST by Csaba Osztrogonác
Modified: 2012-11-16 06:59 PST (History)
8 users (show)

See Also:


Attachments
speculative thingy... (2.36 KB, patch)
2012-11-16 05:52 PST, Peter Gal
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Csaba Osztrogonác 2012-11-16 03:38:51 PST
In file included from /Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:30:
In file included from /Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:25:
In file included from /Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:24:
In file included from /Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:33:
In file included from /Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/Shared/WebLayerTreeInfo.h:25:
In file included from /Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/Platform/CoreIPC/ArgumentDecoder.h:29:
/Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h:39:11: error: member reference base type 'const unsigned long' is not a structure or union
        t.encode(encoder);
        ~ ^
/Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h:92:27: note: in instantiation of member function 'CoreIPC::ArgumentCoder<unsigned long>::encode' requested here
        ArgumentCoder<T>::encode(*this, t);
                          ^
/Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/Platform/CoreIPC/Arguments.h:62:17: note: in instantiation of function template specialization 'CoreIPC::ArgumentEncoder::encode<unsigned long>' requested here
        encoder.encode(argument1);
                ^
/Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/Platform/CoreIPC/ArgumentCoder.h:39:11: note: in instantiation of member function 'CoreIPC::Arguments1<const unsigned long &>::encode' requested here
        t.encode(encoder);
          ^
/Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/Platform/CoreIPC/ArgumentEncoder.h:92:27: note: in instantiation of member function 'CoreIPC::ArgumentCoder<Messages::LayerTreeCoordinatorProxy::CreateImageBacking>::encode' requested here
        ArgumentCoder<T>::encode(*this, t);
                          ^
/Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/Platform/CoreIPC/MessageSender.h:45:18: note: in instantiation of function template specialization 'CoreIPC::ArgumentEncoder::encode<Messages::LayerTreeCoordinatorProxy::CreateImageBacking>' requested here
        encoder->encode(message);
                 ^
/Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/Platform/CoreIPC/MessageSender.h:38:16: note: in instantiation of function template specialization 'CoreIPC::MessageSender<WebKit::WebPage>::send<Messages::LayerTreeCoordinatorProxy::CreateImageBacking>' requested here
        return send(message, static_cast<T*>(this)->destinationID());
               ^
/Users/indt/Development/build-slaves/indt-mountainlion/qt-mountainlion-release/build/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:486:16: note: in instantiation of function template specialization 'CoreIPC::MessageSender<WebKit::WebPage>::send<Messages::LayerTreeCoordinatorProxy::CreateImageBacking>' requested here
    m_webPage->send(Messages::LayerTreeCoordinatorProxy::CreateImageBacking(imageID));
               ^
1 error generated.
make[3]: *** [obj/release/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.o] Error 1
Comment 1 Peter Gal 2012-11-16 05:03:45 PST
So... I think this is the problem (if I'm correct:

CreateImageBacking(uintptr_t imageID)

on linux (64bit) the uintptr_t is typedef for unsigned int, also the uint32_t is unsigned int.
But, on the mac the unitptr_t is unsigned long long, the uint32_t is just unsigned int.

So on linux uintptr_t is just as uint32_t. But on mac it isn't. In the ArgumentEncoder class there are methods for encoding like:

void ArgumentEncoder::encode(uint32_t n)

this results that on linux there is a way to encode the uintptr_t, on on mac there is no such method.

(This holds only true if I understand the Argument* classes correctly.)

So... could what should we do about this? use uint[32/64]_t or create an encode/decode function for the uintptr_t on mac?
Comment 2 Peter Gal 2012-11-16 05:52:36 PST
Created attachment 174658 [details]
speculative thingy...

Just in case, if we decide to go with the uint64_t way. :)
Comment 3 WebKit Review Bot 2012-11-16 06:59:13 PST
Comment on attachment 174658 [details]
speculative thingy...

Clearing flags on attachment: 174658

Committed r134946: <http://trac.webkit.org/changeset/134946>
Comment 4 WebKit Review Bot 2012-11-16 06:59:17 PST
All reviewed patches have been landed.  Closing bug.