Bug 49025

Summary: CodeGeneratorV8.pm produced code that fails to compile.
Product: WebKit Reporter: jreck
Component: WebCore Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, kling, steveblock, zimmermann
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Android   
OS: Android   
Attachments:
Description Flags
Added missing include and forward declaration where needed. none

jreck
Reported 2010-11-04 14:25:20 PDT
I have the following two build errors with code produced by CodeGeneratorV8.pm: target thumb C++: libwebcore <= out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGZoomEvent.cpp out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGZoomEvent.cpp: In function 'v8::Handle<v8::Value> WebCore::SVGZoomEventInternal::zoomRectScreenAttrGetter(v8::Local<v8::String>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGZoomEvent.cpp:52: error: incomplete type 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>' used in nested name specifier make: *** [out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGZoomEvent.o] Error 1 and target thumb C++: libwebcore <= out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp In file included from out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:23: out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:42: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:42: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:46: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:46: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:51: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:51: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h: In static member function 'static int* WebCore::V8SVGRect::toNative(v8::Handle<v8::Object>)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: expected '>' before '*' token out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: expected '(' before '*' token out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: expected primary-expression before '>' token out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:44: error: expected ')' before ';' token out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h: At global scope: out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:55: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:55: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:63: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:63: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:69: error: 'FloatRect' was not declared in this scope out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:69: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:69: error: template argument 1 is invalid out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h: In function 'v8::Handle<v8::Value> WebCore::toV8(int)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:71: error: request for member 'get' in 'impl', which is of non-class type 'int' out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'v8::Handle<v8::Value> WebCore::SVGRectInternal::xAttrGetter(v8::Local<v8::String>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:46: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'void WebCore::SVGRectInternal::xAttrSetter(v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:59: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'v8::Handle<v8::Value> WebCore::SVGRectInternal::yAttrGetter(v8::Local<v8::String>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:71: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'void WebCore::SVGRectInternal::yAttrSetter(v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:84: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'v8::Handle<v8::Value> WebCore::SVGRectInternal::widthAttrGetter(v8::Local<v8::String>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:96: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'void WebCore::SVGRectInternal::widthAttrSetter(v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:109: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'v8::Handle<v8::Value> WebCore::SVGRectInternal::heightAttrGetter(v8::Local<v8::String>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:121: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: In function 'void WebCore::SVGRectInternal::heightAttrSetter(v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo&)': out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:134: error: cannot convert 'int*' to 'WebCore::SVGPropertyTearOff<WebCore::FloatRect>*' in initialization out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp: At global scope: out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.cpp:185: error: prototype for 'v8::Handle<v8::Object> WebCore::V8SVGRect::wrapSlow(WebCore::SVGPropertyTearOff<WebCore::FloatRect>*)' does not match any in class 'WebCore::V8SVGRect' out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.h:51: error: candidate is: static v8::Handle<v8::Object> WebCore::V8SVGRect::wrapSlow(int*) make: *** [out/target/product/stingray/obj/STATIC_LIBRARIES/libwebcore_intermediates/WebCore/bindings/V8SVGRect.o] Error 1 make: Leaving directory `/usr/local/google/webkitmerge'
Attachments
Added missing include and forward declaration where needed. (2.02 KB, patch)
2010-11-04 14:28 PDT, jreck
no flags
jreck
Comment 1 2010-11-04 14:28:17 PDT
Created attachment 72981 [details] Added missing include and forward declaration where needed.
Nikolas Zimmermann
Comment 2 2010-11-05 01:11:55 PDT
Comment on attachment 72981 [details] Added missing include and forward declaration where needed. Looks fine, why does it build on Chrome/V8 though? Hmm, anyhow, r+ as it's a build fix for you.
WebKit Commit Bot
Comment 3 2010-11-05 01:29:38 PDT
Comment on attachment 72981 [details] Added missing include and forward declaration where needed. Clearing flags on attachment: 72981 Committed r71396: <http://trac.webkit.org/changeset/71396>
WebKit Commit Bot
Comment 4 2010-11-05 01:29:43 PDT
All reviewed patches have been landed. Closing bug.
Steve Block
Comment 5 2010-11-05 05:21:53 PDT
> Looks fine, why does it build on Chrome/V8 though? Hmm, anyhow, r+ as it's a build fix for you. We've run into similar problems on Android before. Usually it's because Chromium picks up the required headers through other headers guarded by feature defines not enabled on Android.
Note You need to log in before you can comment on or make changes to this bug.