RESOLVED FIXED 102475
[Qt][Mac] Fix the build after r124873
https://bugs.webkit.org/show_bug.cgi?id=102475
Summary [Qt][Mac] Fix the build after r124873
Csaba Osztrogonác
Reported 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
Attachments
speculative thingy... (2.36 KB, patch)
2012-11-16 05:52 PST, Peter Gal
no flags
Peter Gal
Comment 1 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?
Peter Gal
Comment 2 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. :)
WebKit Review Bot
Comment 3 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>
WebKit Review Bot
Comment 4 2012-11-16 06:59:17 PST
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.