RESOLVED FIXED 26721
Pointer to incomplete class type is not allowed compilation error with RVCT
https://bugs.webkit.org/show_bug.cgi?id=26721
Summary Pointer to incomplete class type is not allowed compilation error with RVCT
Laszlo Gombos
Reported 2009-06-25 07:22:00 PDT
Building accessibility\accessibilityimagemaplink.cpp fails with the following error (using the ARM RVCT compiler): "WebKit\JavaScriptCore/wtf/PassRefPtr.h", line 43: Error: #393: pointer to incomplete class type is not allowed ALWAYS_INLINE ~PassRefPtr() { if (UNLIKELY(m_ptr != 0)) m_ptr->deref(); } ^ detected during instantiation of "WTF::PassRefPtr<T>::~PassRefPtr() [with T=WebCore::Event]"
Attachments
Include Event.h in Node.h instead of forward declaring the Event class (1.08 KB, patch)
2009-06-25 08:18 PDT, Laszlo Gombos
darin: review-
Remove the default value for PassRefPtr<Event> args (4.12 KB, patch)
2009-06-25 20:18 PDT, Laszlo Gombos
darin: review+
Laszlo Gombos
Comment 1 2009-06-25 08:18:26 PDT
Created attachment 31856 [details] Include Event.h in Node.h instead of forward declaring the Event class This bug is similar in nature to https://bugs.webkit.org/show_bug.cgi?id=24539. In this particular case "PassRefPtr<Event> underlyingEvent = 0" needs to know about the Event class definition .
Laszlo Gombos
Comment 2 2009-06-25 09:39:47 PDT
I just run into some related discussion on WebKit-dev from 2008. Paul sheds some lights on the differences between GCC/MSVC and ARM RVCT. http://lists.macosforge.org/pipermail/webkit-dev/2008-September/004799.html
Darin Adler
Comment 3 2009-06-25 12:03:08 PDT
Comment on attachment 31856 [details] Include Event.h in Node.h instead of forward declaring the Event class We really don't want to include Event.h in every single file that includes Node.h. Lets remove the default value for underlyingEvent, and fix the callers to pass zero explicitly instead.
Laszlo Gombos
Comment 4 2009-06-25 20:18:15 PDT
Created attachment 31901 [details] Remove the default value for PassRefPtr<Event> args Thanks Darin for the quick review. Removed some defaults from Node.h to eliminate the dependency on the Event class definition. RVCT no longer fails on this after these changes.
Eric Seidel (no email)
Comment 5 2009-06-26 01:40:07 PDT
Committing to http://svn.webkit.org/repository/webkit/trunk ... M WebCore/ChangeLog M WebCore/dom/Document.cpp M WebCore/dom/Node.cpp M WebCore/dom/Node.h Committed r45251 http://trac.webkit.org/changeset/45251
Note You need to log in before you can comment on or make changes to this bug.