Closed
Bug 624011
Opened 15 years ago
Closed 15 years ago
jsval.h:301:9: warning: type of bit-field ‘payload47’ is a GCC extension
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: dholbert, Unassigned)
References
Details
(Whiteboard: [build_warning] fixed-in-tracemonkey)
Attachments
(1 file)
845 bytes,
patch
|
luke
:
review+
|
Details | Diff | Splinter Review |
When building mozilla-central, I get at least 11 instances of this warning:
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsd_step.c:42:
../../dist/include/jsval.h:301:9: warning: type of bit-field 'payload47' is a GCC extension
This triggers tons of warning-spam, since jsval.h is indirectly included by multiple files, and most instances of the warning are prefixed with 4-6 lines of "included from..." as above.
The line of code that's flagged by the warning is:
> 301 uint64 payload47 : 47;
which was added in bug 549143.
Maybe we should just disable this GCC warning (maybe just for this chunk of code)?
![]() |
||
Comment 1•15 years ago
|
||
Ohh, are all the warnings from .c files?
Reporter | ||
Comment 2•15 years ago
|
||
Looks like it. Here's the biggest (only?) chunk of this warning-spam that I see (in a build with -j10 so some stuff might be out-of-order) -- looks like the final line in each of these is a .c file.
{
jsd_text.c
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsdebug.c:42:
../../dist/include/jsval.h:301:9: warning: type of bit-field ‘payload47’ is a GCC extension
../../../mozilla/js/jsd/jsdebug.c: In function ‘JSD_EnableSingleStepInterrupts’:
../../../mozilla/js/jsd/jsdebug.c:584:5: warning: implicit declaration of function ‘jsd_EnableSingleStepInterrupts’
jsd_val.c
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsd_lock.c:50:
../../dist/include/jsval.h:301:9: warning: type of bit-field 'payload47' is a GCC extension
jsd_xpc.cpp
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsd_hook.c:42:
../../dist/include/jsval.h:301:9: warning: type of bit-field ‘payload47’ is a GCC extension
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsd_atom.c:42:
../../dist/include/jsval.h:301:9: warning: type of bit-field ‘payload47’ is a GCC extension
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsd_val.c:42:
../../dist/include/jsval.h:301:9: warning: type of bit-field ‘payload47’ is a GCC extension
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsd_high.c:42:
../../dist/include/jsval.h:301:9: warning: type of bit-field 'payload47' is a GCC extension
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsd_stak.c:42:
../../dist/include/jsval.h:301:9: warning: type of bit-field 'payload47' is a GCC extension
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsd_obj.c:42:
../../dist/include/jsval.h:301:9: warning: type of bit-field 'payload47' is a GCC extension
../../../mozilla/js/jsd/jsd_obj.c: In function 'jsd_Constructing':
../../../mozilla/js/jsd/jsd_obj.c:161:26: warning: assignment from incompatible pointer type
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsd_step.c:42:
../../dist/include/jsval.h:301:9: warning: type of bit-field 'payload47' is a GCC extension
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsd_text.c:43:
../../dist/include/jsval.h:301:9: warning: type of bit-field ‘payload47’ is a GCC extension
In file included from ../../dist/include/jspubtd.h:47:0,
from ../../dist/include/jsapi.h:49,
from ../../../mozilla/js/jsd/jsdebug.h:57,
from ../../../mozilla/js/jsd/jsd.h:81,
from ../../../mozilla/js/jsd/jsd_scpt.c:42:
../../dist/include/jsval.h:301:9: warning: type of bit-field ‘payload47’ is a GCC extension
}
I'm building with gcc-4.5 & g++-4.5 on 64-bit Ubuntu 10.10, FWIW.
![]() |
||
Comment 3•15 years ago
|
||
Cool, then it looks like we can just #ifdef off C. This whole struct is, as the name says, just for ease of gdb'ing.
Reporter | ||
Comment 4•15 years ago
|
||
(In reply to comment #3)
> Cool, then it looks like we can just #ifdef off C.
Like so?
Reporter | ||
Updated•15 years ago
|
Attachment #502159 -
Flags: review?(lw)
Reporter | ||
Comment 5•15 years ago
|
||
(This does seem to fix the build warnings for me, FWIW)
![]() |
||
Comment 6•15 years ago
|
||
Comment on attachment 502159 [details] [diff] [review]
fix?
It would be a little shorter to do
#if !(defined(_WIN64) || defined(__cplusplus))
Attachment #502159 -
Flags: review?(lw) → review+
Reporter | ||
Comment 7•15 years ago
|
||
(In reply to comment #6)
> It would be a little shorter to do
> #if !(defined(_WIN64) || defined(__cplusplus))
I think you mean
#if (!defined(_WIN64) && defined(__cplusplus))
right?
![]() |
||
Comment 8•15 years ago
|
||
hehe, yes :)
Reporter | ||
Comment 9•15 years ago
|
||
Whiteboard: [build_warning] → [build_warning] fixed-in-tracemonkey
![]() |
||
Comment 10•15 years ago
|
||
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•