Bug 90666 - GCC can't compile NEONHelpers.h
Summary: GCC can't compile NEONHelpers.h
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-07-06 01:49 PDT by yosin
Modified: 2012-07-06 05:54 PDT (History)
3 users (show)

See Also:


Attachments
proposed patch (3.24 KB, patch)
2012-07-06 02:25 PDT, Gabor Rapcsanyi
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description yosin 2012-07-06 01:49:23 PDT
Here is error message. It seems some platforms enabling uninitialized variable warning (see below.)

third_party/WebKit/Source/WebCore/platform/graphics/filters/arm/NEONHelpers.h: In function 'float32x4_t WebCore::loadRGBA8AsFloat(uint32_t*)':
third_party/WebKit/Source/WebCore/platform/graphics/filters/arm/NEONHelpers.h:40:65: error: 'temporary1' is used uninitialized in this function [-Werror=uninitialized]

Could you fix this? Sorry, I'm not familiar with ARM and NEON.
Thanks in advance.
Comment 1 yosin 2012-07-06 02:05:28 PDT
Introduced by:
http://trac.webkit.org/changeset/121900
Comment 2 Zoltan Herczeg 2012-07-06 02:07:32 PDT
Gabor is working on it.
Comment 3 Gabor Rapcsanyi 2012-07-06 02:25:56 PDT
Created attachment 151044 [details]
proposed patch

Fixed the defines of NEON intrinsics.
Comment 4 Zoltan Herczeg 2012-07-06 02:34:03 PDT
Comment on attachment 151044 [details]
proposed patch

r=me
Comment 5 yosin 2012-07-06 02:36:56 PDT
Can we do something like below?

uint32x2_t temporary0 = 0;
uint32x2_t temporary1 = vset_lane_u32(*source, temporary0, 0);

I'm not sure how to initialize uint32x2_t.
Comment 6 Gabor Rapcsanyi 2012-07-06 02:39:49 PDT
(In reply to comment #5)
> Can we do something like below?
> 
> uint32x2_t temporary0 = 0;
> uint32x2_t temporary1 = vset_lane_u32(*source, temporary0, 0);
> 
> I'm not sure how to initialize uint32x2_t.

Yes this just hide the problem from older compilers.

I made another bug for the real problem: 
https://bugs.webkit.org/show_bug.cgi?id=90669
Comment 7 Zoltan Herczeg 2012-07-06 02:50:54 PDT
> Yes this just hide the problem from older compilers.

The ifdefs were clearly wrong, if ARM_NEON_INTRINSICS is not defined, it should not be compiled.

On the long run, we should do something with the uninitalized variable. From our point if view, the initialization is really unnecessary, and would reduce the performance. Would be good to tell the compiler to ignore this message.
Comment 8 Gabor Rapcsanyi 2012-07-06 05:54:29 PDT
Patch landed: http://trac.webkit.org/changeset/121951