The default bug view has changed. See this FAQ.

Silence the clang warnings issued because of alignment requirements increase when compiling jsparse.h

RESOLVED FIXED in mozilla7

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: Ehsan, Assigned: Ehsan)

Tracking

unspecified
mozilla7
x86
Mac OS X
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [fixed-in-tracemonkey])

Attachments

(1 attachment)

(Assignee)

Description

6 years ago
These warnings drive me nuts.  We get thousands of them when compiling jsparse.h.

In file included from /Users/ehsanakhgari/moz/tmp/js/src/jsatom.cpp:58:
/Users/ehsanakhgari/moz/tmp/js/src/jsparse.h:654:16: warning: cast from 'char *' to 'JSParseNode *' increases required alignment from 1 to 8 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(Assignee)

Comment 1

6 years ago
Created attachment 538143 [details] [diff] [review]
Patch (v1)
Assignee: general → ehsan
Status: NEW → ASSIGNED
Attachment #538143 - Flags: review?(jwalden+bmo)
Comment on attachment 538143 [details] [diff] [review]
Patch (v1)

>-        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
>+        return (JSParseNode *)(void *)((char *)pn_tail - offsetof(JSParseNode, pn_next));

More uintptr_t:

>+        return (JSParseNode *)(uintptr_t(pn_tail) - offsetof(JSParseNode, pn_next));

(reinterpret_cast<> butts up against the JS line length limit in this case, hence why I wouldn't use it.)
Attachment #538143 - Flags: review?(jwalden+bmo) → review+
(Assignee)

Comment 3

6 years ago
http://hg.mozilla.org/tracemonkey/rev/f25adc3d6d65
Whiteboard: [fixed-in-tracemonkey]
Target Milestone: --- → mozilla7
cdleary-bot mozilla-central merge info:
http://hg.mozilla.org/mozilla-central/rev/f25adc3d6d65
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.