Bug 49025 - CodeGeneratorV8.pm produced code that fails to compile.
Summary: CodeGeneratorV8.pm produced code that fails to compile.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Android Android
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-04 14:25 PDT by jreck
Modified: 2010-11-05 05:21 PDT (History)
4 users (show)

See Also:


Attachments
Added missing include and forward declaration where needed. (2.02 KB, patch)
2010-11-04 14:28 PDT, jreck
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description jreck 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'
Comment 1 jreck 2010-11-04 14:28:17 PDT
Created attachment 72981 [details]
Added missing include and forward declaration where needed.
Comment 2 Nikolas Zimmermann 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.
Comment 3 WebKit Commit Bot 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>
Comment 4 WebKit Commit Bot 2010-11-05 01:29:43 PDT
All reviewed patches have been landed.  Closing bug.
Comment 5 Steve Block 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.