Closed
Bug 436263
Opened 17 years ago
Closed 16 years ago
cannot convert ‘__va_list_tag**’ to ‘__va_list_tag (*)[1] in jsapi.cpp building js shell
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: bc, Unassigned)
References
Details
Attachments
(2 files)
3.97 KB,
patch
|
bc
:
review+
crowderbt
:
review+
|
Details | Diff | Splinter Review |
550 bytes,
patch
|
Details | Diff | Splinter Review |
mozilla-central js shell doesn't build on Linux x86_64 with gcc 4.1.2 or 4.2.3
g++ -o Linux_All_OPT.OBJ/jsapi.o -c -Wall -Wno-format -MMD -Os -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DHAVE_VA_COPY -DVA_COPY=va_copy -DPIC -fPIC -UDEBUG -DNDEBUG -UDEBUG_bclary -DEDITLINE -ILinux_All_OPT.OBJ jsapi.cpp
jsapi.cpp: In function ‘JSBool JS_ConvertArgumentsVA(JSContext*, uintN, jsval*, const char*, __va_list_tag*)’:
jsapi.cpp:272: error: cannot convert ‘__va_list_tag**’ to ‘__va_list_tag (*)[1]’ for argument ‘5’ to ‘JSBool TryArgumentFormatter(JSContext*, const char**, JSBool, jsval**, __va_list_tag (*)[1])’
jsapi.cpp: In function ‘jsval* JS_PushArgumentsVA(JSContext*, void**, const char*, __va_list_tag*)’:
jsapi.cpp:380: error: cannot convert ‘__va_list_tag**’ to ‘__va_list_tag (*)[1]’ for argument ‘5’ to ‘JSBool TryArgumentFormatter(JSContext*, const char**, JSBool, jsval**, __va_list_tag (*)[1])’
I can build on Linux i686 with gcc 4.1.2 and Mac OS X with gcc 4.0.1
Perhaps HAVE_VA_LIST_AS_ARRAY in jscpucfg.h needs to be defined for x86_64?
Flags: in-testsuite-
Flags: in-litmus-
Comment 1•17 years ago
|
||
Yeah, looks like.
/be
Reporter | ||
Comment 2•17 years ago
|
||
I tried defining HAVE_VA_LIST_AS_ARRAY but it didn't seem to help.
Defining it worked for me but I'm not familiar enough with the build system to confidently make a patch. If it gets defined when __GNUC__ and __x86_64__ (or something similar) are present it should be fine.
I threw #define HAVE_VA_LIST_AS_ARRAY in jsapi.cpp and jsprf.cpp to test. (gcc-4.0.1, Mac OS X 10.5.3)
Reporter | ||
Comment 4•17 years ago
|
||
(In reply to comment #3)
It compiles for me with that as well. I originally tried to use jscpucfg.h which isn't used. :-/
jscpucfg.cpp is the important change; the other changes let you build x86_64 on Darwin with OS_ARCH=Darwin64
Attachment #323103 -
Flags: review?
Updated•16 years ago
|
Attachment #323103 -
Flags: review?(crowder)
Attachment #323103 -
Flags: review?(bclary)
Attachment #323103 -
Flags: review?
Comment 6•16 years ago
|
||
Comment on attachment 323103 [details] [diff] [review]
Fixes build on linux; allows for darwin64 building
David: Can you provide a diff -w between Darwin64.mk and Darwin.mk, please?
Thanks.
Updated•16 years ago
|
Attachment #323136 -
Attachment is patch: true
Attachment #323136 -
Attachment mime type: application/octet-stream → text/plain
Updated•16 years ago
|
Attachment #323103 -
Flags: review?(crowder) → review+
Reporter | ||
Comment 8•16 years ago
|
||
Comment on attachment 323103 [details] [diff] [review]
Fixes build on linux; allows for darwin64 building
can build both opt/debug shell in mozilla-central with this patch.
Attachment #323103 -
Flags: review?(bclary) → review+
Comment 9•16 years ago
|
||
Pushed changeset 1affd89013a6 to mozilla-central.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•