The default bug view has changed. See this FAQ.

Silence the clang warnings issued because of alignment requirements increase when compiling jscntxt.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 jscntxt.h.

jsapi.cpp
In file included from /Users/ehsanakhgari/moz/tmp/js/src/jsapi.cpp:61:
In file included from /Users/ehsanakhgari/moz/tmp/js/src/jsclone.h:43:
/Users/ehsanakhgari/moz/tmp/js/src/jscntxt.h:2279:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8
      [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(Assignee)

Comment 1

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

>-    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
>+    return (JSContext *) (void *) ((uint8 *) link - offsetof(JSContext, link));

Another place where uintptr_t seems better than an extra cast:

>+    return reinterpret_cast<JSContext *>(uintptr_t(link) - offsetof(JSContext, link));
Attachment #538142 - Flags: review?(jwalden+bmo) → review+
(Assignee)

Comment 3

6 years ago
http://hg.mozilla.org/tracemonkey/rev/3167cf2cde1c
Whiteboard: [fixed-in-tracemonkey]
Target Milestone: --- → mozilla7
cdleary-bot mozilla-central merge info:
http://hg.mozilla.org/mozilla-central/rev/3167cf2cde1c
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.