SSIA. Compiler output (GCC 6) follows. --- In file included from platform/graphics/filters/FELighting.cpp:30:0: platform/graphics/cpu/arm/filters/FELightingNEON.h: In member function ‘void WebCore::FELighting::platformApplyNeon(WebCore::FELighting::LightingData&, WebCore::LightSource::PaintingData&)’: platform/graphics/cpu/arm/filters/FELightingNEON.h:119:9: error: ‘PointLightSource’ was not declared in this scope PointLightSource* pointLightSource = static_cast<PointLightSource*>(m_lightSource.get()); ^~~~~~~~~~~~~~~~ platform/graphics/cpu/arm/filters/FELightingNEON.h:127:9: error: ‘SpotLightSource’ was not declared in this scope SpotLightSource* spotLightSource = static_cast<SpotLightSource*>(m_lightSource.get()); ^~~~~~~~~~~~~~~
After adding the needed #include incantations, the compiler keeps complaining (output below). From a cursory glance it looks like some downcasting might be needed, I'm taking a look at the code. --- In file included from platform/graphics/cpu/arm/filters/FELightingNEON.cpp:28:0: platform/graphics/cpu/arm/filters/FELightingNEON.h: In member function ‘void WebCore::FELighting::platformApplyNeon(WebCore::FELighting::LightingData&, WebCore::LightSource::PaintingData&)’: platform/graphics/cpu/arm/filters/FELightingNEON.h:121:96: error: invalid static_cast from type ‘WebCore::LightSource’ to type ‘WebCore::PointLightSource*’ PointLightSource* pointLightSource = static_cast<PointLightSource*>(m_lightSource.get()); ^ platform/graphics/cpu/arm/filters/FELightingNEON.h:128:93: error: invalid static_cast from type ‘WebCore::LightSource’ to type ‘WebCore::SpotLightSource*’ SpotLightSource* spotLightSource = static_cast<SpotLightSource*>(m_lightSource.get()); ^
(In reply to Adrian Perez from comment #1) > After adding the needed #include incantations, the compiler keeps > complaining (output below). From a cursory glance it looks like some > downcasting might be needed, I'm taking a look at the code. Noup, m_lightSource is a Ref<LightSource>, and the Ref<T>::get() returns a reference. The code has to be updated to make casts to the correct reference types, and member access using the dot operator instead. I'll be submitting a patch momentarily.
Created attachment 320124 [details] Patch
Created attachment 320132 [details] Patch (v2) Now this version does the casts properly O:-)
Comment on attachment 320132 [details] Patch (v2) Clearing flags on attachment: 320132 Committed r221742: <http://trac.webkit.org/changeset/221742>
All reviewed patches have been landed. Closing bug.
<rdar://problem/34693504>