MidnightBSD Magus

lang/spidermonkey185

Standalone JavaScript (1.8.5) interpreter from Mozilla

Flavor Version Run OSVersion Arch License Restricted Status
1.8.5_3 521 3.0 amd64 gpl2 mpl 0 fail

Events

Machine Type Time Message
m3064b info 2023-03-19 19:40:49.190703 Test Started
m3064b fail 2023-03-19 19:41:04.437255 make build returned non-zero: 1
m3064b fail 2023-03-19 19:41:04.52862 Test complete.

Log

===>  Building for spidermonkey185-1.8.5_3
gmake[1]: Entering directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src'
gmake export
gmake[2]: Entering directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src'
gmake -C config/ nsinstall
gmake[3]: Entering directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/config'
nsinstall.c
cc -o host_nsinstall.o -c -I/usr/local/include  -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -DXP_UNIX -O3  -DUNICODE -D_UNICODE  -I. -I. -I../dist/include -I../dist/include/nsprpub  -I/usr/local/include/nspr   -I/usr/local/include/nspr nsinstall.c
pathsub.c
cc -o host_pathsub.o -c -I/usr/local/include  -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -DXP_UNIX -O3  -DUNICODE -D_UNICODE  -I. -I. -I../dist/include -I../dist/include/nsprpub  -I/usr/local/include/nspr   -I/usr/local/include/nspr pathsub.c
pathsub.c:131:27: warning: unused parameter 'dir' [-Wunused-parameter]
ino2name(ino_t ino, char *dir)
                          ^
1 warning generated.
cc -o nsinstall -I/usr/local/include  -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -W -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -DXP_UNIX -O3  -DUNICODE -D_UNICODE -pthread  -L/usr/local/lib -fstack-protector-strong   -Wl,-rpath-link,/bin -Wl,-rpath-link,/usr/local/lib  host_nsinstall.o host_pathsub.o  
gmake[3]: Leaving directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/config'
Creating /magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/.deps
gmake[3]: Entering directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/config'
rm -f nfspwd
cp nfspwd.pl nfspwd
chmod +x nfspwd
/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/config/nsinstall -R nsinstall ../dist/bin
gmake[3]: Leaving directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/config'
gmake[3]: Entering directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/shell'
Creating /magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/shell/.deps
gmake[3]: Leaving directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/shell'
gmake[3]: Entering directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/jsapi-tests'
Creating /magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/jsapi-tests/.deps
gmake[3]: Leaving directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/jsapi-tests'
gmake[3]: Entering directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/tests'
gmake[3]: Nothing to be done for 'export'.
gmake[3]: Leaving directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/tests'
c++ -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS -I/usr/local/include/nspr -o jscpucfg jscpucfg.cpp
jskwgen.cpp
c++ -o host_jskwgen.o -c -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr -I/usr/local/include/nspr jskwgen.cpp
./jscpucfg > jsautocfg.tmp
mv jsautocfg.tmp jsautocfg.h
c++ -o host_jskwgen -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr host_jskwgen.o  
./host_jskwgen /magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/jsautokw.h
/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/config/nsinstall -R -m 644 js-config.h jsautocfg.h /magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/jsautokw.h js.msg jsanalyze.h jsapi.h jsarray.h jsarena.h jsatom.h jsbit.h jsbool.h jsclist.h jsclone.h jscntxt.h jscompat.h jsdate.h jsdbgapi.h jsdhash.h jsdtoa.h jsemit.h jsfun.h jsfriendapi.h jsgc.h jscell.h jsgcchunk.h jsgcstats.h jscompartment.h jshash.h jsinterp.h jsinttypes.h jsiter.h jslock.h jslong.h jsmath.h jsobj.h jsobjinlines.h json.h jsopcode.tbl jsopcode.h jsopcodeinlines.h jsotypes.h jsparse.h jsproxy.h jsprf.h jsprobes.h jspropertycache.h jspropertycacheinlines.h jspropertytree.h jsproto.tbl jsprvtd.h jspubtd.h jsreflect.h jsregexp.h jsscan.h jsscope.h jsscript.h jsscriptinlines.h jsstaticcheck.h jsstdint.h jsstr.h jstracer.h jshotloop.h jstypedarray.h jstypes.h jsutil.h jsvector.h jstl.h jshashtable.h jsversion.h jswrapper.h jsxdrapi.h jsxml.h jsval.h jsvalue.h prmjtime.h jsbuiltins.h ./nanojit/Assembler.h ./nanojit/Allocator.h ./nanojit/CodeAlloc.h ./nanojit/Containers.h ./nanojit/LIR.h ./nanojit/LIRopcode.tbl ./nanojit/avmplus.h ./nanojit/Fragmento.h ./nanojit/Native.h ./nanojit/NativeCommon.h ./nanojit/NativeX64.h ./nanojit/njconfig.h ./nanojit/njcpudetect.h ./nanojit/RegAlloc.h ./nanojit/nanojit.h ./nanojit/VMPI.h ./tracejit/Writer.h ./perf/jsperf.h ./dist/include
mkdir -p nanojit
gmake[2]: Leaving directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src'
gmake libs
gmake[2]: Entering directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src'
jsoplengen.cpp
c++ -o host_jsoplengen.o -c -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr -I/usr/local/include/nspr jsoplengen.cpp
/usr/local/bin/python2.7 imacro_asm.py ./imacros.jsasm /magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/imacros.c.out
c++ -o host_jsoplengen -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr host_jsoplengen.o  
./host_jsoplengen /magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src/jsautooplen.h
jsanalyze.cpp
jsapi.cpp
c++ -o jsapi.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsapi.pp jsapi.cpp
jsarena.cpp
jsarray.cpp
c++ -o jsarray.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsarray.pp jsarray.cpp
c++ -o jsarena.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsarena.pp jsarena.cpp
c++ -o jsanalyze.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsanalyze.pp jsanalyze.cpp
jsatom.cpp
c++ -o jsatom.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsatom.pp jsatom.cpp
jsbool.cpp
c++ -o jsbool.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsbool.pp jsbool.cpp
In file included from jsarray.cpp:84:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsarena.cpp:49:
In file included from ./jsbit.h:44:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:55:
In file included from ./jsprvtd.h:57:
In file included from ./jspubtd.h:47:
In file included from ./jsval.h:48:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsatom.cpp:47:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsbool.cpp:45:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsapi.cpp:52:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
1 warning generated.
jsclone.cpp
c++ -o jsclone.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsclone.pp jsclone.cpp
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:42:
In file included from ./jsapi.h:49:
In file included from ./jspubtd.h:47:
In file included from ./jsval.h:48:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsbool.cpp:49:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsatom.cpp:53:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsbool.cpp:49:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsatom.cpp:53:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsatom.cpp:57:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsapi.cpp:61:
In file included from ./jsclone.h:43:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsbool.cpp:58:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
In file included from ./jsstrinlines.h:44:
In file included from ./jscntxtinlines.h:46:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsapi.cpp:61:
In file included from ./jsclone.h:43:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsatom.cpp:65:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
In file included from jsapi.cpp:65:
In file included from ./jsemit.h:49:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsbool.cpp:58:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
jsatom.cpp:384:13: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
    atoms = COMMON_ATOMS_START(state);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsarray.cpp:101:
In file included from ./jsscope.h:59:
In file included from ./jsstrinlines.h:44:
In file included from ./jscntxtinlines.h:46:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsatom.cpp:862:9: warning: cast to 'void *' from smaller integer type 'jsuint' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
        ALE_SET_INDEX(ale, count++);
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:158:55: note: expanded from macro 'ALE_SET_INDEX'
#define ALE_SET_INDEX(ale,index)((ale)->entry.value = (void *)(index))
                                                      ^~~~~~~~~~~~~~~
jsatom.cpp:954:12: warning: variable 'count' set but not used [-Wunused-but-set-variable]
    uint32 count;
           ^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsclone.cpp:44:
In file included from ./jsregexpinlines.h:45:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
In file included from ./jsstrinlines.h:44:
In file included from ./jscntxtinlines.h:46:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
js_static_assert43
^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^

                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^:59:1: note: expanded from here
js_static_assert48
^
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]

:351:1: note: expanded from here
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
js_static_assert7
^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.hIn file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'

./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
./jsutil.h:In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
353:1: note: expanded from here
js_static_assert8
^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:40    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^

                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'

                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
In file included from jsbool.cpp:47:
In file included from ./jsatom.h    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]

js_static_assert58
^
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'

./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
                    ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
./jsutil.hjs_static_assert39
^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
./jsutil.h:120:21:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
 note: expanded from macro 'JS_STATIC_ASSERT'
js_static_assert59
^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
In file included from ./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
jsatom.cpp:53:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here                                        ^
:85:1: note: expanded from here

js_static_assert61
^js_static_assert43
^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: ./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: js_static_assert45
^
note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));js_static_assert62
^

        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'In file included from jsatom.cpp:63:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]

    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'

    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:57:1: note: expanded from here
js_static_assert47
^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:183:1: note: expanded from here
In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:js_static_assert65
^
In file included from jsatom.cpp:63:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:185:1: note: expanded from here
js_static_assert48
^
In file included from jsbool.cpp:49js_static_assert66
^
:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: In file included from jsatom.cpp:65:
In file included from ./jsobjinlines.h:53:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'187:1: note: expanded from here
js_static_assert67
^
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
./jsstr.h:525:
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^

:63:1: note: expanded from here
js_static_assert50
^
In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jsbool.cpp:58:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:183:1: note: expanded from here
js_static_assert65
^
In file included from jsbool.cpp:58:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:185:1: note: expanded from here
js_static_assert66
^
In file included from jsbool.cpp:58:
In file included from ./jsobjinlines.h:53:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:187:1: note: expanded from here
js_static_assert67
^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
./jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jsclone.cpp:44:
In file included from ./jsregexpinlines.h:45:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
In file included from jsarray.cpp:110:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
25 warnings generated.
jscntxt.cpp
c++ -o jscntxt.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jscntxt.pp jscntxt.cpp
In file included from jsapi.cpp:94:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
In file included from jsclone.cpp:44:
In file included from ./jsregexpinlines.h:49:
In file included from ./yarr/yarr/RegexJIT.h:31:
In file included from ./assembler/assembler/MacroAssembler.h:54:
./assembler/assembler/MacroAssemblerX86_64.h:127:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:135:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:144:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
In file included from jsclone.cpp:44:
In file included from ./jsregexpinlines.h:49:
In file included from ./yarr/yarr/RegexJIT.h:34:
./yarr/yarr/RegexPattern.h:136:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jscntxt.cpp:58:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsapi.cpp:97:
In file included from ./jsregexpinlines.h:49:
In file included from ./yarr/yarr/RegexJIT.h:31:
In file included from ./assembler/assembler/MacroAssembler.h:54:
./assembler/assembler/MacroAssemblerX86_64.h:127:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:135:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:144:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:238:1: note: expanded from here
js_static_assert47
^
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:240:1: note: expanded from here
js_static_assert48
^
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:242:1: note: expanded from here
js_static_assert49
^
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:244:1: note: expanded from here
js_static_assert50
^
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:260:1: note: expanded from here
js_static_assert58
^
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:262:1: note: expanded from here
js_static_assert59
^
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:268:1: note: expanded from here
js_static_assert62
^
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:266:1: note: expanded from here
js_static_assert61
^
In file included from jsarray.cpp:101:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:130:1: note: expanded from here
js_static_assert65
^
In file included from jsarray.cpp:101:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:132:1: note: expanded from here
js_static_assert66
^
In file included from jsarray.cpp:101:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:134:1: note: expanded from here
js_static_assert67
^
jsarray.cpp:230:5: warning: unused typedef 'js_static_assert68' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(jsuint) == sizeof(uint32_t));
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:136:1: note: expanded from here
js_static_assert68
^
jsarray.cpp:256:5: warning: unused typedef 'js_static_assert69' [-Wunused-local-typedef]
    JS_STATIC_ASSERT((jsuint)-1 == 4294967295U);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:138:1: note: expanded from here
js_static_assert69
^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
39 warnings generated.
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
jscompartment.cpp
c++ -o jscompartment.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jscompartment.pp jscompartment.cpp
In file included from jsapi.cpp:97:
In file included from ./jsregexpinlines.h:49:
In file included from ./yarr/yarr/RegexJIT.h:34:
./yarr/yarr/RegexPattern.h:136:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsclone.h:147:42: note: in instantiation of member function 'js::Vector::Vector' requested here
        : out(out), objs(out.context()), counts(out.context()), ids(out.context()),
                                         ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:55:
In file included from ./jsprvtd.h:57:
In file included from ./jspubtd.h:47:
In file included from ./jsval.h:48:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:233:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    PatternAlternative(PatternDisjunction* disjunction)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:282:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    PatternDisjunction(PatternAlternative* parent = 0)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:321:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    RegexPattern(bool ignoreCase, bool multiline)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:321:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    RegexPattern(bool ignoreCase, bool multiline)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jsclone.cpp:39:
./jsclone.h:101:9: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(uint32_t) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:95:1: note: expanded from here
js_static_assert66
^
In file included from jsclone.cpp:39:
./jsclone.h:102:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsdouble) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:97:1: note: expanded from here
js_static_assert67
^
In file included from jsclone.cpp:39:
./jsclone.h:100:9: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jschar) == 2);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:93:1: note: expanded from here
js_static_assert65
^
In file included from jsclone.cpp:44:
In file included from ./jsregexpinlines.h:45:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert68' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:189:1: note: expanded from here
js_static_assert68
^
In file included from jsclone.cpp:44:
In file included from ./jsregexpinlines.h:45:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert69' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:191:1: note: expanded from here
js_static_assert69
^
In file included from jsclone.cpp:44:
In file included from ./jsregexpinlines.h:45:
In file included from ./jsobjinlines.h:53:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert70' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:193:1: note: expanded from here
js_static_assert70
^
jsclone.cpp:203:5: warning: unused typedef 'js_static_assert73' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(uint64_t) % sizeof(T) == 0);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:208:1: note: expanded from here
js_static_assert73
^
jsclone.cpp:412:5: warning: unused typedef 'js_static_assert79' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(TypedArray::TYPE_INT32 == 4);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:220:1: note: expanded from here
js_static_assert79
^
jsclone.cpp:413:5: warning: unused typedef 'js_static_assert80' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(TypedArray::TYPE_UINT32 == 5);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:222:1: note: expanded from here
js_static_assert80
^
jsclone.cpp:411:5: warning: unused typedef 'js_static_assert78' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(TypedArray::TYPE_UINT16 == 3);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:218:1: note: expanded from here
js_static_assert78
^
jsclone.cpp:416:5: warning: unused typedef 'js_static_assert83' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(TypedArray::TYPE_UINT8_CLAMPED == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:228:1: note: expanded from here
js_static_assert83
^
jsclone.cpp:408:5: warning: unused typedef 'js_static_assert75' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(TypedArray::TYPE_INT8 == 0);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:212:1: note: expanded from here
js_static_assert75
^
jsclone.cpp:415:5: warning: unused typedef 'js_static_assert82' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(TypedArray::TYPE_FLOAT64 == 7);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:226:1: note: expanded from here
js_static_assert82
^
jsclone.cpp:409:5: warning: unused typedef 'js_static_assert76' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(TypedArray::TYPE_UINT8 == 1);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:214:1: note: expanded from here
js_static_assert76
^
jsclone.cpp:414:5: warning: unused typedef 'js_static_assert81' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(TypedArray::TYPE_FLOAT32 == 6);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:224:1: note: expanded from here
js_static_assert81
^
jsclone.cpp:410:5: warning: unused typedef 'js_static_assert77' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(TypedArray::TYPE_INT16 == 2);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:216:1: note: expanded from here
js_static_assert77
^
jsclone.cpp:417:5: warning: unused typedef 'js_static_assert84' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(TypedArray::TYPE_MAX == TypedArray::TYPE_UINT8_CLAMPED + 1);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:230:1: note: expanded from here
js_static_assert84
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
jsapi.cpp:1641:12: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
    atom = OFFSET_TO_ATOM(cx->runtime, offset);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:454:35: note: expanded from macro 'OFFSET_TO_ATOM'
#define OFFSET_TO_ATOM(rt,off)  (*(JSAtom **)((char*)&(rt)->atomState + (off)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsapi.cpp:1646:13: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
            OFFSET_TO_ATOM(cx->runtime, offset) = atom;
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:454:35: note: expanded from macro 'OFFSET_TO_ATOM'
#define OFFSET_TO_ATOM(rt,off)  (*(JSAtom **)((char*)&(rt)->atomState + (off)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsapi.cpp:1804:16: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
        atom = OFFSET_TO_ATOM(rt, standard_class_atoms[i].atomOffset);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:454:35: note: expanded from macro 'OFFSET_TO_ATOM'
#define OFFSET_TO_ATOM(rt,off)  (*(JSAtom **)((char*)&(rt)->atomState + (off)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsapi.cpp:1885:16: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
        atom = OFFSET_TO_ATOM(rt, standard_class_atoms[i].atomOffset);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:454:35: note: expanded from macro 'OFFSET_TO_ATOM'
#define OFFSET_TO_ATOM(rt,off)  (*(JSAtom **)((char*)&(rt)->atomState + (off)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
jsapi.cpp:1987:16: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
        atom = OFFSET_TO_ATOM(rt, standard_class_atoms[j].atomOffset);
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:454:35: note: expanded from macro 'OFFSET_TO_ATOM'
#define OFFSET_TO_ATOM(rt,off)  (*(JSAtom **)((char*)&(rt)->atomState + (off)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jscntxt.cpp:62:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jscntxt.cpp:62:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
40 warnings generated.
jsdate.cpp
c++ -o jsdate.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsdate.pp jsdate.cpp
In file included from jscntxt.cpp:77:
In file included from ./jsscope.h:59:
In file included from ./jsstrinlines.h:44:
In file included from ./jscntxtinlines.h:46:
./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));
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsclone.h:147:42: note: in instantiation of member function 'js::Vector::Vector' requested here
        : out(out), objs(out.context()), counts(out.context()), ids(out.context()),
                                         ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:233:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    PatternAlternative(PatternDisjunction* disjunction)
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:282:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    PatternDisjunction(PatternAlternative* parent = 0)
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:321:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    RegexPattern(bool ignoreCase, bool multiline)
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:321:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    RegexPattern(bool ignoreCase, bool multiline)
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
jsapi.cpp:614:12: note: in instantiation of member function 'js::Vector::Vector' requested here
JSRuntime::JSRuntime()
           ^
In file included from jscompartment.cpp:41:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsapi.cpp:61:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:240:1: note: expanded from here
js_static_assert48
^
In file included from jsapi.cpp:61:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:238:1: note: expanded from here
js_static_assert47
^
In file included from jsapi.cpp:61:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:242:1: note: expanded from here
js_static_assert49
^
In file included from jsapi.cpp:61:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:244:1: note: expanded from here
js_static_assert50
^
In file included from jsapi.cpp:61:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:260:1: note: expanded from here
js_static_assert58
^
In file included from jsapi.cpp:61:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:262:1: note: expanded from here
js_static_assert59
^
In file included from jsapi.cpp:61:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:266:1: note: expanded from here
js_static_assert61
^
In file included from jsapi.cpp:61:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:268:1: note: expanded from here
js_static_assert62
^
In file included from jsapi.cpp:61:
./jsclone.h:101:9: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(uint32_t) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:276:1: note: expanded from here
js_static_assert66
^
In file included from jsapi.cpp:61:
./jsclone.h:100:9: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jschar) == 2);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:274:1: note: expanded from here
js_static_assert65
^
In file included from jsapi.cpp:61:
./jsclone.h:102:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsdouble) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:278:1: note: expanded from here
js_static_assert67
^
In file included from jsapi.cpp:81:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert68' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:65:1: note: expanded from here
js_static_assert68
^
In file included from jsapi.cpp:81:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert69' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:67:1: note: expanded from here
js_static_assert69
^
In file included from jsapi.cpp:81:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert70' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:69:1: note: expanded from here
js_static_assert70
^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jscompartment.cpp:41:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsdate.cpp:63:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jscompartment.cpp:46:
In file included from ./jsscope.h:59:
In file included from ./jsstrinlines.h:44:
In file included from ./jscntxtinlines.h:46:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jscntxt.cpp:84:
In file included from ./assembler/assembler/MacroAssembler.h:54:
./assembler/assembler/MacroAssemblerX86_64.h:127:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:135:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:144:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jscntxt.cpp:90:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
jscntxt.cpp:1174:37: warning: cast from 'const JSDHashEntryHdr *' to 'const JSResolvingEntry *' increases required alignment from 4 to 8 [-Wcast-align]
    const JSResolvingEntry *entry = (const JSResolvingEntry *)hdr;
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jscntxt.cpp:1208:13: warning: cast from 'JSDHashEntryHdr *' to 'JSResolvingEntry *' increases required alignment from 4 to 8 [-Wcast-align]
    entry = (JSResolvingEntry *)
            ^~~~~~~~~~~~~~~~~~~~
jscntxt.cpp:1243:17: warning: cast from 'JSDHashEntryHdr *' to 'JSResolvingEntry *' increases required alignment from 4 to 8 [-Wcast-align]
        entry = (JSResolvingEntry *)
                ^~~~~~~~~~~~~~~~~~~~
In file included from jscompartment.cpp:51:
In file included from ./methodjit/PolyIC.h:46:
In file included from ./assembler/assembler/MacroAssembler.h:54:
./assembler/assembler/MacroAssemblerX86_64.h:127:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:135:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:144:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsdate.cpp:67:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsdate.cpp:67:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
jscntxt.cpp:1986:12: note: in instantiation of member function 'js::Vector::Vector' requested here
JSContext::JSContext(JSRuntime *rt)
           ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jscntxt.cpp:77:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:183:1: note: expanded from here
js_static_assert65
^
In file included from jscntxt.cpp:77:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:185:1: note: expanded from here
js_static_assert66
^
In file included from jscntxt.cpp:77:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:187:1: note: expanded from here
js_static_assert67
^
jscntxt.cpp:746:5: warning: unused typedef 'js_static_assert68' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSVERSION_DEFAULT == 0);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:102:1: note: expanded from here
js_static_assert68
^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jscompartment.cpp:51:
In file included from ./methodjit/PolyIC.h:50:
In file included from ./methodjit/BaseAssembler.h:53:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
In file included from jsdate.cpp:74:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
In file included from ./jsstrinlines.h:44:
In file included from ./jscntxtinlines.h:46:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsdate.cpp:74:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./methodjit/BaseAssembler.h:206:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : callPatches(SystemAllocPolicy()),
        ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsutil.h:260:17: note: in instantiation of member function 'js::Vector::Vector' requested here
    JS_NEW_BODY(T, (p1))
                ^
./methodjit/PolyIC.h:195:41: note: in instantiation of function template specialization 'js_new, js::SystemAllocPolicy>' requested here
            ExecPoolVector *execPools = js_new(SystemAllocPolicy()); 
                                        ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jscompartment.cpp:46:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:183:1: note: expanded from here
js_static_assert65
^
In file included from jscompartment.cpp:46:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:185:1: note: expanded from here
js_static_assert66
^
In file included from jscompartment.cpp:46:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:187:1: note: expanded from here
js_static_assert67
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsdate.cpp:66:
In file included from ./jsbuiltins.h:46:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:469:1: note: expanded from here
js_static_assert7
^
In file included from jsdate.cpp:66:
In file included from ./jsbuiltins.h:46:
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:2:1: note: expanded from here
js_static_assert8
^
In file included from jsdate.cpp:66:
In file included from ./jsbuiltins.h:46:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:467:1: note: expanded from here
js_static_assert6
^
In file included from jsdate.cpp:66:
In file included from ./jsbuiltins.h:46:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:4:1: note: expanded from here
js_static_assert9
^
In file included from jsdate.cpp:66:
In file included from ./jsbuiltins.h:46:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:6:1: note: expanded from here
js_static_assert10
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:127:1: note: expanded from here
js_static_assert39
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:135:1: note: expanded from here
js_static_assert43
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:139:1: note: expanded from here
js_static_assert45
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:137:1: note: expanded from here
js_static_assert44
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:223:1: note: expanded from here
js_static_assert48
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:221:1: note: expanded from here
js_static_assert47
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:227:1: note: expanded from here
js_static_assert50
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:225:1: note: expanded from here
js_static_assert49
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:243:1: note: expanded from here
js_static_assert58
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:245:1: note: expanded from here
js_static_assert59
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:249:1: note: expanded from here
js_static_assert61
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:251:1: note: expanded from here
js_static_assert62
^
In file included from jsdate.cpp:74:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:58:1: note: expanded from here
js_static_assert65
^
In file included from jsdate.cpp:74:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:60:1: note: expanded from here
js_static_assert66
^
In file included from jsdate.cpp:74:
In file included from ./jsobjinlines.h:53:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:62:1: note: expanded from here
js_static_assert67
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
64 warnings generated.
jsdbgapi.cpp
c++ -o jsdbgapi.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsdbgapi.pp jsdbgapi.cpp
In file included from jsdbgapi.cpp:45:
In file included from ./jsprvtd.h:57:
In file included from ./jspubtd.h:47:
In file included from ./jsval.h:48:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsdbgapi.cpp:52:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsdbgapi.cpp:52:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsdbgapi.cpp:55:
In file included from ./jsemit.h:49:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsdbgapi.cpp:72:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
47 warnings generated.
jsdhash.cpp
c++ -o jsdhash.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsdhash.pp jsdhash.cpp
In file included from jsdbgapi.cpp:79:
In file included from ./methodjit/Retcon.h:52:
In file included from ./methodjit/Compiler.h:47:
In file included from ./methodjit/CodeGenIncludes.h:58:
In file included from ./methodjit/PunboxAssembler.h:43:
In file included from ./assembler/assembler/MacroAssembler.h:54:
./assembler/assembler/MacroAssemblerX86_64.h:127:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:135:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:144:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
In file included from jsdhash.cpp:48:
In file included from ./jsbit.h:44:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
jsdhash.cpp:146:36: warning: cast from 'const JSDHashEntryHdr *' to 'const JSDHashEntryStub *' increases required alignment from 4 to 8 [-Wcast-align]
    const JSDHashEntryStub *stub = (const JSDHashEntryStub *)entry;
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:156:36: warning: cast from 'const JSDHashEntryHdr *' to 'const JSDHashEntryStub *' increases required alignment from 4 to 8 [-Wcast-align]
    const JSDHashEntryStub *stub = (const JSDHashEntryStub *)entry;
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:181:36: warning: cast from 'JSDHashEntryHdr *' to 'const JSDHashEntryStub *' increases required alignment from 4 to 8 [-Wcast-align]
    const JSDHashEntryStub *stub = (const JSDHashEntryStub *)entry;
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:393:17: warning: cast from 'char *' to 'JSDHashEntryHdr *' increases required alignment from 1 to 4 [-Wcast-align]
        entry = (JSDHashEntryHdr *)entryAddr;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:424:13: warning: cast from 'char *' to 'JSDHashEntryHdr *' increases required alignment from 1 to 4 [-Wcast-align]
    entry = ADDRESS_ENTRY(table, hash1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:362:6: note: expanded from macro 'ADDRESS_ENTRY'
    ((JSDHashEntryHdr *)((table)->entryStore + (index) * (table)->entrySize))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:460:17: warning: cast from 'char *' to 'JSDHashEntryHdr *' increases required alignment from 1 to 4 [-Wcast-align]
        entry = ADDRESS_ENTRY(table, hash1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:362:6: note: expanded from macro 'ADDRESS_ENTRY'
    ((JSDHashEntryHdr *)((table)->entryStore + (index) * (table)->entrySize))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:501:13: warning: cast from 'char *' to 'JSDHashEntryHdr *' increases required alignment from 1 to 4 [-Wcast-align]
    entry = ADDRESS_ENTRY(table, hash1);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:362:6: note: expanded from macro 'ADDRESS_ENTRY'
    ((JSDHashEntryHdr *)((table)->entryStore + (index) * (table)->entrySize))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:522:17: warning: cast from 'char *' to 'JSDHashEntryHdr *' increases required alignment from 1 to 4 [-Wcast-align]
        entry = ADDRESS_ENTRY(table, hash1);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:362:6: note: expanded from macro 'ADDRESS_ENTRY'
    ((JSDHashEntryHdr *)((table)->entryStore + (index) * (table)->entrySize))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:580:20: warning: cast from 'char *' to 'JSDHashEntryHdr *' increases required alignment from 1 to 4 [-Wcast-align]
        oldEntry = (JSDHashEntryHdr *)oldEntryAddr;
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdhash.cpp:741:17: warning: cast from 'char *' to 'JSDHashEntryHdr *' increases required alignment from 1 to 4 [-Wcast-align]
        entry = (JSDHashEntryHdr *)entryAddr;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
44 warnings generated.
jsdtoa.cpp
c++ -o jsdtoa.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsdtoa.pp jsdtoa.cpp
In file included from jsdtoa.cpp:47:
In file included from ./jsapi.h:49:
In file included from ./jspubtd.h:47:
In file included from ./jsval.h:48:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
11 warnings generated.
jsemit.cpp
c++ -o jsemit.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsemit.pp jsemit.cpp
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsemit.cpp:52:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./methodjit/BaseAssembler.h:206:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : callPatches(SystemAllocPolicy()),
        ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsutil.h:260:17: note: in instantiation of member function 'js::Vector::Vector' requested here
    JS_NEW_BODY(T, (p1))
                ^
./methodjit/PolyIC.h:195:41: note: in instantiation of function template specialization 'js_new, js::SystemAllocPolicy>' requested here
            ExecPoolVector *execPools = js_new(SystemAllocPolicy()); 
                                        ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./methodjit/Retcon.h:67:35: note: in instantiation of member function 'js::Vector::Vector' requested here
        cx(cx1), script(script1), traps(cx) {};
                                  ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jsdbgapi.cpp:63:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:183:1: note: expanded from here
js_static_assert65
^
In file included from jsdbgapi.cpp:63:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:185:1: note: expanded from here
js_static_assert66
^
In file included from jsdbgapi.cpp:63:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:187:1: note: expanded from here
js_static_assert67
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
37 warnings generated.
jsexn.cpp
c++ -o jsexn.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsexn.pp jsexn.cpp
In file included from jsexn.cpp:48:
In file included from ./jsbit.h:44:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsdtoa.cpp:52:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsdtoa.cpp:52:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 warnings generated.
jsfriendapi.cpp
c++ -o jsfriendapi.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsfriendapi.pp jsfriendapi.cpp
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:55:
In file included from ./jsprvtd.h:57:
In file included from ./jspubtd.h:47:
In file included from ./jsval.h:48:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsdtoa.cpp:54:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
In file included from ./jsstrinlines.h:44:
In file included from ./jscntxtinlines.h:46:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsemit.cpp:58:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsemit.cpp:58:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsdtoa.cpp:54:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
In file included from jsemit.cpp:60:
In file included from ./jsemit.h:49:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsdtoa.cpp:83:
./dtoa.c:707:3: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        (register ULong x)
         ^~~~~~~~~
./dtoa.c:710:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register int k = 0;
        ^~~~~~~~~
./dtoa.c:744:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register int k;
        ^~~~~~~~~
./dtoa.c:745:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register ULong x = *y;
        ^~~~~~~~~
./dtoa.c:1163:2: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
        register Long L;
        ^~~~~~~~~
./dtoa.c:2522:25: warning: cast from 'char *' to 'int *' increases required alignment from 1 to 4 [-Wcast-align]
        Bigint *b = (Bigint *)((int *)s - 1);
                               ^~~~~~~~
./dtoa.c:2522:14: warning: cast from 'int *' to 'Bigint *' increases required alignment from 4 to 8 [-Wcast-align]
        Bigint *b = (Bigint *)((int *)s - 1);
                    ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:50:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:259:1: note: expanded from here
js_static_assert9
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:50:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:261:1: note: expanded from here
js_static_assert10
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:50:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:255:1: note: expanded from here
js_static_assert7
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:50:
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:257:1: note: expanded from here
js_static_assert8
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:50:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:253:1: note: expanded from here
js_static_assert6
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jsdtoa.cpp:54:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:183:1: note: expanded from here
js_static_assert65
^
In file included from jsdtoa.cpp:54:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:185:1: note: expanded from here
js_static_assert66
^
In file included from jsdtoa.cpp:54:
In file included from ./jsobjinlines.h:53:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:187:1: note: expanded from here
js_static_assert67
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
./jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jsexn.cpp:52:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsexn.cpp:52:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsemit.cpp:73:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
In file included from jsexn.cpp:60:
In file included from ./jsscope.h:59:
In file included from ./jsstrinlines.h:44:
In file included from ./jscntxtinlines.h:46:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsemit.cpp:2458:5: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    ALE_SET_INDEX(ale, cookie->asInteger());
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:158:55: note: expanded from macro 'ALE_SET_INDEX'
#define ALE_SET_INDEX(ale,index)((ale)->entry.value = (void *)(index))
                                                      ^~~~~~~~~~~~~~~
In file included from jsfriendapi.cpp:40:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsfriendapi.cpp:40:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
25 warnings generated.
jsemit.cpp:4100:10: warning: variable 'forInLet' set but not used [-Wunused-but-set-variable]
    bool forInLet, popScope;
         ^
jsfun.cpp
c++ -o jsfun.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsfun.pp jsfun.cpp
In file included from jsexn.cpp:67:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
jsexn.cpp:188:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSErrorReport *' increases required alignment from 1 to 8 [-Wcast-align]
    copy = (JSErrorReport *)cursor;
           ^~~~~~~~~~~~~~~~~~~~~~~
jsexn.cpp:193:29: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'const jschar **' (aka 'const unsigned short **') increases required alignment from 1 to 8 [-Wcast-align]
        copy->messageArgs = (const jschar **)cursor;
                            ^~~~~~~~~~~~~~~~~~~~~~~
jsexn.cpp:196:36: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'const jschar *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
            copy->messageArgs[i] = (const jschar *)cursor;
                                   ^~~~~~~~~~~~~~~~~~~~~~
jsexn.cpp:206:27: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'const jschar *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
        copy->ucmessage = (const jschar *)cursor;
                          ^~~~~~~~~~~~~~~~~~~~~~
jsexn.cpp:212:27: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'const jschar *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
        copy->uclinebuf = (const jschar *)cursor;
                          ^~~~~~~~~~~~~~~~~~~~~~
In file included from jsfun.cpp:47:
In file included from ./jsbit.h:44:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
jsexn.cpp:450:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
        atom = *(JSAtom **)((uint8 *)atomState + offsets[i]);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsemit.cpp:5675:19: warning: variable 'blockObj' set but not used [-Wunused-but-set-variable]
        JSObject *blockObj;
                  ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jsexn.cpp:60:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:183:1: note: expanded from here
js_static_assert65
^
In file included from jsexn.cpp:60:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:185:1: note: expanded from here
js_static_assert66
^
In file included from jsexn.cpp:60:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:187:1: note: expanded from here
js_static_assert67
^
jsexn.cpp:147:5: warning: unused typedef 'js_static_assert69' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(const char *) % sizeof(jschar) == 0);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:191:1: note: expanded from here
js_static_assert69
^
jsexn.cpp:146:5: warning: unused typedef 'js_static_assert68' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(JSErrorReport) % sizeof(const char *) == 0);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:189:1: note: expanded from here
js_static_assert68
^
jsexn.cpp:257:5: warning: unused typedef 'js_static_assert70' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(JSStackTraceElem) % sizeof(jsval) == 0);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:193:1: note: expanded from here
js_static_assert70
^
jsexn.cpp:440:5: warning: unused typedef 'js_static_assert71' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(JSAtomState) <= (size_t)(uint16)-1);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:195:1: note: expanded from here
js_static_assert71
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
jsemit.cpp:120:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    globalUses(ContextAllocPolicy(parser->context)),
    ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
jsemit.cpp:121:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    closedArgs(ContextAllocPolicy(parser->context)),
    ^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jsemit.cpp:67:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:183:1: note: expanded from here
js_static_assert65
^
In file included from jsemit.cpp:67:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:185:1: note: expanded from here
js_static_assert66
^
In file included from jsemit.cpp:67:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:187:1: note: expanded from here
js_static_assert67
^
jsemit.cpp:1318:5: warning: unused typedef 'js_static_assert69' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(SHARP_NSLOTS == 2);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:191:1: note: expanded from here
js_static_assert69
^
jsemit.cpp:1773:5: warning: unused typedef 'js_static_assert70' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INDEX_LIMIT <= JS_BIT(24));
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:193:1: note: expanded from here
js_static_assert70
^
jsemit.cpp:1774:5: warning: unused typedef 'js_static_assert71' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INDEX_LIMIT >=
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:195:1: note: expanded from here
js_static_assert71
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
./jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
46 warnings generated.
jsgc.cpp
c++ -o jsgc.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsgc.pp jsgc.cpp
In file included from jsfun.cpp:54:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsfun.cpp:54:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsfun.cpp:56:
In file included from ./jsemit.h:49:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsgc.cpp:56:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsfun.cpp:91:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
jsfun.cpp:1691:27: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
        id = ATOM_TO_JSID(OFFSET_TO_ATOM(cx->runtime, lfp.atomOffset));
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:454:35: note: expanded from macro 'OFFSET_TO_ATOM'
#define OFFSET_TO_ATOM(rt,off)  (*(JSAtom **)((char*)&(rt)->atomState + (off)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsfun.cpp:1698:27: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
        id = ATOM_TO_JSID(OFFSET_TO_ATOM(cx->runtime, p.atomOffset));
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:454:35: note: expanded from macro 'OFFSET_TO_ATOM'
#define OFFSET_TO_ATOM(rt,off)  (*(JSAtom **)((char*)&(rt)->atomState + (off)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsfun.cpp:1794:30: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
        if (JSID_IS_ATOM(id, OFFSET_TO_ATOM(cx->runtime, lfp->atomOffset))) {
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:454:35: note: expanded from macro 'OFFSET_TO_ATOM'
#define OFFSET_TO_ATOM(rt,off)  (*(JSAtom **)((char*)&(rt)->atomState + (off)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsfun.cpp:1811:30: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
        if (JSID_IS_ATOM(id, OFFSET_TO_ATOM(cx->runtime, p.atomOffset))) {
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:454:35: note: expanded from macro 'OFFSET_TO_ATOM'
#define OFFSET_TO_ATOM(rt,off)  (*(JSAtom **)((char*)&(rt)->atomState + (off)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsgc.cpp:63:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsgc.cpp:63:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
In file included from jsgc.cpp:75:
./jsparse.h:654:16: warning: cast from 'char *' to 'JSParseNode *' increases required alignment from 1 to 8 [-Wcast-align]
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

             ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
49 warnings generated.
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsfun.cpp:54:
In file included from ./dist/include/jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:238:1: note: expanded from here
js_static_assert47
^
In file included from jsfun.cpp:54:
In file included from ./dist/include/jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:240:1: note: expanded from here
js_static_assert48
^
In file included from jsfun.cpp:54:
In file included from ./dist/include/jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:244:1: note: expanded from here
js_static_assert50
^
In file included from jsfun.cpp:54:
In file included from ./dist/include/jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:242:1: note: expanded from here
js_static_assert49
^
In file included from jsfun.cpp:54:
In file included from ./dist/include/jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:260:1: note: expanded from here
js_static_assert58
^
In file included from jsfun.cpp:54:
In file included from ./dist/include/jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:262:1: note: expanded from here
js_static_assert59
^
In file included from jsfun.cpp:54:
In file included from ./dist/include/jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:266:1: note: expanded from here
js_static_assert61
^
jsgcchunk.cpp
In file included from jsfun.cpp:54:
In file included from ./dist/include/jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
c++ -o jsgcchunk.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsgcchunk.pp jsgcchunk.cpp
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:268:1: note: expanded from here
js_static_assert62
^
In file included from jsfun.cpp:68:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:58:1: note: expanded from here
js_static_assert65
^
In file included from jsfun.cpp:68:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:60:1: note: expanded from here
js_static_assert66
^
In file included from jsfun.cpp:68:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:62:1: note: expanded from here
js_static_assert67
^
jsfun.cpp:186:5: warning: unused typedef 'js_static_assert68' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSObject::ARGS_CLASS_RESERVED_SLOTS == 2);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:93:1: note: expanded from here
js_static_assert68
^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jsgcchunk.cpp:37:
In file included from ./jsgcchunk.h:43:
In file included from ./jsprvtd.h:57:
In file included from ./jspubtd.h:47:
In file included from ./jsval.h:48:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
1 warning generated.
jsgcstats.cpp
c++ -o jsgcstats.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsgcstats.pp jsgcstats.cpp
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:55:
In file included from ./jsprvtd.h:57:
In file included from ./jspubtd.h:47:
In file included from ./jsval.h:48:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
44 warnings generated.
jshash.cpp
c++ -o jshash.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jshash.pp jshash.cpp
In file included from jshash.cpp:47:
In file included from ./jsbit.h:44:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsgc.cpp:91:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
1 warning generated.
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
jsinterp.cpp
c++ -o jsinterp.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsinterp.pp jsinterp.cpp
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
jsgc.cpp:581:36: warning: cast from 'js::gc::Cell *' to 'JSString *' increases required alignment from 1 to 8 [-Wcast-align]
    return GetArena(cell)->mark((T *)cell, trc);
                                   ^~~~~~~~~
jsgc.cpp:662:20: note: in instantiation of function template specialization 'js::MarkCell' requested here
            test = MarkCell(cell, trc);
                   ^
jsgc.cpp:581:36: warning: cast from 'js::gc::Cell *' to 'JSExternalString *' increases required alignment from 1 to 8 [-Wcast-align]
    return GetArena(cell)->mark((T *)cell, trc);
                                   ^~~~~~~~~
jsgc.cpp:665:20: note: in instantiation of function template specialization 'js::MarkCell' requested here
            test = MarkCell(cell, trc);
                   ^
60 warnings generated.
In file included from jsgcstats.cpp:40:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:jsinvoke.cpp
41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
In file included from jsinterp.cpp:50:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
c++ -o jsinvoke.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsinvoke.pp jsinvoke.cpp
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
    ^./jsutil.h
:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jsgc.cpp:77:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:183:1: note: expanded from here
js_static_assert65
^
In file included from jsgc.cpp:77:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:185:1: note: expanded from here
js_static_assert66
^
In file included from jsgc.cpp:77:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:187:1: note: expanded from here
js_static_assert67
^
jsgc.cpp:610:5: warning: unused typedef 'js_static_assert83' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSID_TYPE_STRING == 0 && JSID_TYPE_OBJECT == 4);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:123:1: note: expanded from here
js_static_assert83
^
jsgc.cpp:1893:5: warning: unused typedef 'js_static_assert84' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(!(sizeof(T) & Cell::CellMask));
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:125:1: note: expanded from here
js_static_assert84
^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jsgcstats.cpp:40:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:50:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.hexpanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
25 warnings generated.
jsiter.cpp
c++ -o jsiter.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsiter.pp jsiter.cpp
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsiter.cpp:47:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsinterp.cpp:56:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsinterp.cpp:56:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsinterp.cpp:70:
In file included from ./jsemit.h:49:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:70:
In file included from ./jsemit.h:49:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsiter.cpp:54:
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsiter.cpp:54:
./jscntxt.h:2963: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsinterp.cpp:85:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
In file included from jsiter.cpp:68:
In file included from ./jsscope.h:59:
In file included from ./jsstrinlines.h:44:
In file included from ./jscntxtinlines.h:46:
./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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:85:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
In file included from jsinterp.cpp:100:
In file included from ./methodjit/MonoIC.h:44:
In file included from ./assembler/assembler/MacroAssembler.h:54:
./assembler/assembler/MacroAssemblerX86_64.h:127:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:135:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:144:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
In file included from jsiter.cpp:80:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
./jsobjinlines.h:316:16: warning: cast to 'void *' from smaller integer type 'uint32' (aka 'unsigned int') [-Wint-to-void-pointer-cast]
    setPrivate((void*) length);
               ^~~~~~~~~~~~~~
jsinterp.cpp:2259:5: warning: 'register' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]
    register void * const *jumpTable = normalJumpTable;
    ^~~~~~~~~
jsinterp.cpp:2587:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
        atoms = COMMON_ATOMS_START(&rt->atomState);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsinterp.cpp:2753:25: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 8 [-Wcast-align]
                atoms = COMMON_ATOMS_START(&rt->atomState);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsiter.cpp:270:16: error: cannot initialize return object of type 'bool' with an rvalue of type 'nullptr_t'
        return NULL;
               ^~~~
/usr/include/sys/_null.h:37:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^~~~~~~
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:100:
In file included from ./methodjit/MonoIC.h:44:
In file included from ./assembler/assembler/MacroAssembler.h:54:
./assembler/assembler/MacroAssemblerX86_64.h:127:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:135:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
./assembler/assembler/MacroAssemblerX86_64.h:144:22: warning: unused variable 'label' [-Wunused-variable]
        DataLabelPtr label = moveWithPatch(ImmPtr(0), scratchRegister);
                     ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
jsiter.cpp:566:23: note: in instantiation of member function 'js::Vector::Vector' requested here
    Vector shapes(cx);
                      ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
20 warnings and 1 error generated.
gmake[2]: *** [config/rules.mk:1477: jsiter.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./methodjit/BaseAssembler.h:206:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : callPatches(SystemAllocPolicy()),
        ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:71:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:183:1: note: expanded from here
js_static_assert65
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:71:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:185:1: note: expanded from here
js_static_assert66
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:71:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:187:1: note: expanded from here
js_static_assert67
^
In file included from jsinvoke.cpp:42:
./jsinterp.cpp:993:5: warning: unused typedef 'js_static_assert68' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(SHARP_NSLOTS == 2);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:102:1: note: expanded from here
js_static_assert68
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
45 warnings generated.
46 warnings generated.
45 warnings generated.
43 warnings generated.
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./methodjit/BaseAssembler.h:206:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : callPatches(SystemAllocPolicy()),
        ^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:739:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:740:9: warning: unused typedef 'js_static_assert9' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:355:1: note: expanded from here
js_static_assert9
^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:741:9: warning: unused typedef 'js_static_assert10' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:357:1: note: expanded from here
js_static_assert10
^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:737:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:738:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert39' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:415:1: note: expanded from here
js_static_assert39
^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:570:9: warning: unused typedef 'js_static_assert44' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:425:1: note: expanded from here
js_static_assert44
^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:571:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:427:1: note: expanded from here
js_static_assert45
^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:568:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:57:1: note: expanded from here
js_static_assert47
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:59:1: note: expanded from here
js_static_assert48
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert49' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:61:1: note: expanded from here
js_static_assert49
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert50' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:63:1: note: expanded from here
js_static_assert50
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert58' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:79:1: note: expanded from here
js_static_assert58
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:81:1: note: expanded from here
js_static_assert59
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert62' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:87:1: note: expanded from here
js_static_assert62
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert61' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:85:1: note: expanded from here
js_static_assert61
^
In file included from jsinterp.cpp:71:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:183:1: note: expanded from here
js_static_assert65
^
In file included from jsinterp.cpp:71:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:185:1: note: expanded from here
js_static_assert66
^
In file included from jsinterp.cpp:71:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:187:1: note: expanded from here
js_static_assert67
^
In file included from jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
47 warnings generated.
gmake[2]: Leaving directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src'
gmake[1]: *** [config/rules.mk:754: all] Error 2
gmake[1]: Leaving directory '/magus/work/usr/mports/lang/spidermonkey185/work/js-1.8.5/js/src'
===> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to
the maintainer.
*** Error code 1

Stop.
make: stopped in /usr/mports/lang/spidermonkey185