RESOLVED FIXED 137000
[WinCairo] Compile errors when GStreamer is enabled.
https://bugs.webkit.org/show_bug.cgi?id=137000
Summary [WinCairo] Compile errors when GStreamer is enabled.
peavo
Reported 2014-09-22 06:51:56 PDT
MSVC does not allow the keyword default on move constructors. Also, MSVC cannot assign an initializer list to a struct.
Attachments
Patch (8.32 KB, patch)
2014-09-22 06:57 PDT, peavo
no flags
Patch (8.33 KB, patch)
2014-09-23 07:25 PDT, peavo
no flags
Patch (1.61 KB, patch)
2014-09-25 00:49 PDT, peavo
no flags
Patch (2.19 KB, patch)
2014-09-25 01:02 PDT, peavo
no flags
Patch (2.53 KB, patch)
2014-10-15 03:19 PDT, peavo
no flags
peavo
Comment 1 2014-09-22 06:57:45 PDT
Philippe Normand
Comment 2 2014-09-23 01:09:23 PDT
This breaks GTK and EFL though. Can you please fix it?
Zan Dobersek
Comment 3 2014-09-23 01:14:09 PDT
What version of MSVC? (In reply to comment #0) > Also, MSVC cannot assign an initializer list to a struct. MSVC 2013 supposedly supports this. Does it support initializing a class object via the initializer list?
Zan Dobersek
Comment 4 2014-09-23 01:16:17 PDT
Comment on attachment 238479 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=238479&action=review > Source/WTF/wtf/gobject/GMainLoopSource.h:98 > + *this = c; That's a copy. Use WTF::move().
Zan Dobersek
Comment 5 2014-09-23 02:07:27 PDT
(In reply to comment #3) > What version of MSVC? > > (In reply to comment #0) > > Also, MSVC cannot assign an initializer list to a struct. > > MSVC 2013 supposedly supports this. Does it support initializing a class object via the initializer list? For clarity, here's the MSDN document: http://msdn.microsoft.com/en-us/library/dn387583.aspx Does MSVC compile this? m_context = Context({ adoptGRef(g_socket_create_source(socket, condition, socketCancellable)), adoptGRef(g_cancellable_new()), adoptGRef(socketCancellable), nullptr, // voidCallback nullptr, // boolCallback WTF::move(function), WTF::move(destroyFunction) });
peavo
Comment 6 2014-09-23 07:16:42 PDT
(In reply to comment #5) > > Does MSVC compile this? > > m_context = Context({ > adoptGRef(g_socket_create_source(socket, condition, socketCancellable)), > adoptGRef(g_cancellable_new()), > adoptGRef(socketCancellable), > nullptr, // voidCallback > nullptr, // boolCallback > WTF::move(function), > WTF::move(destroyFunction) > }); No, the error is: 1>..\wtf\gobject\GMainLoopSource.cpp(130): error C2440: 'initializing' : cannot convert from 'initializer-list' to 'WTF::GMainLoopSource::Context' 1> No constructor could take the source type, or constructor overload resolution was ambiguous
peavo
Comment 7 2014-09-23 07:25:07 PDT
peavo
Comment 8 2014-09-23 07:30:21 PDT
(In reply to comment #3) > What version of MSVC? > MSVC 2013. The original error was: ..\wtf\gobject\GMainLoopSource.cpp(130): error C2679: binary '=' : no operator found which takes a right-hand operand of type 'initializer-list' (or there is no acceptable conversion)
peavo
Comment 9 2014-09-25 00:49:33 PDT
peavo
Comment 10 2014-09-25 00:51:30 PDT
(In reply to comment #9) > Created an attachment (id=238645) [details] > Patch It turns out MSVC can assign an initializer list to a struct, but the move constructor causes a compile error. I removed the move constructor in the latest patch, but I'm not sure it just can be removed without other changes ...
peavo
Comment 11 2014-09-25 01:02:44 PDT
peavo
Comment 12 2014-09-26 01:21:14 PDT
(In reply to comment #11) > Created an attachment (id=238647) [details] > Patch Updated patch to fix compile errors.
peavo
Comment 13 2014-10-09 03:41:39 PDT
Apologies for nagging :) Any chance of a review?
peavo
Comment 14 2014-10-15 03:19:51 PDT
peavo
Comment 15 2014-10-15 03:21:12 PDT
(In reply to comment #14) > Created an attachment (id=239862) [details] > Patch Resolved conflicts.
Philippe Normand
Comment 16 2014-11-18 10:33:42 PST
Comment on attachment 239862 [details] Patch Let's cross fingers a rebase is not needed :)
peavo
Comment 17 2014-11-18 10:36:00 PST
(In reply to comment #16) > Comment on attachment 239862 [details] > Patch > > Let's cross fingers a rebase is not needed :) Thanks for reviewing!
WebKit Commit Bot
Comment 18 2014-11-18 11:10:15 PST
Comment on attachment 239862 [details] Patch Clearing flags on attachment: 239862 Committed r176269: <http://trac.webkit.org/changeset/176269>
WebKit Commit Bot
Comment 19 2014-11-18 11:10:21 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.