MidnightBSD Magus

lang/spidermonkey185

Standalone JavaScript (1.8.5) interpreter from Mozilla

Flavor Version Run OSVersion Arch License Restricted Status
1.8.5_3 522 3.0 i386 gpl2 mpl 0 fail

License Permissions:

Events

Machine Type Time Message
m3032b info 2023-03-24 20:05:02.556615 Test Started
m3032b fail 2023-03-24 20:05:33.449552 make build returned non-zero: 1
m3032b fail 2023-03-24 20:05:33.501241 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/Nativei386.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 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
jsarray.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
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
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
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
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 jsatom.cpp:47:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
In file included from jsarena.cpp:        *(size_t *)memory = n;
        ^
./jsutil.h:302:49:
In file included from ./jsbit.h:44In file included from 5: note: previous statement is here
    if (!memory)
    ^
:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
jsarray.cpp:84:
./jsutil.h:304:        *(size_t *)memory = n;
        ^
./jsutil.h:302:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
5:        *(size_t *)memory = n;
        ^
./jsutil.h:302: note: previous statement is here
    if (!memory)
    ^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 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 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 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 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 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 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 jsatom.cpp:53:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
In file included from jsbool.cpp:49:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
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 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]
In file included from     return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsapi.cpp:60:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jsapi.cpp:60:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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 jsatom.cpp:57:
./jsparse.h:654:16: warning: cast from 'char *' to 'JSParseNode *' increases required alignment from 1 to 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
In file included from jsapi.cpp:61:
In file included from ./jsclone.h:43:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
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 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 4 [-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:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert4' [-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
                                        ^
:345:1: note: expanded from here
js_static_assert4
^
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_assert5' [-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
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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_assert6' [-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
                                        ^
: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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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:741:9: warning: unused typedef 'js_static_assert8' [-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
                                        ^
: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:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
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_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
./jscntxt.h:2179        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h::14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'

./jsatom.h:445:6:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117: note: expanded from macro 'COMMON_ATOMS_START'
41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    #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:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
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_assert45' [-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
                                        ^
:54: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:
./jsfun.h:228:9: warning: ./jscntxt.h:2179:14:unused typedef 'js_static_assert47' [-Wunused-local-typedef]
 warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'

     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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_assert47
^
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_assert48' [-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
                                        ^
:60: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:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
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_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
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_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
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_assert59' [-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
                                        ^
:82:1: note: expanded from here
js_static_assert59
^
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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: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: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: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);
                   ^
             (                                            )
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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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);
                   ^
             (                                            )
jsatom.cpp:384:13: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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 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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsatom.cpp:954:12: warning: variable 'count' set but not used [-Wunused-but-set-variable]
    uint32 count;
           ^
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),
                                 ^
./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),
                                 ^
./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: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
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:         : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.hwarning: field 'storage' is uninitialized when used here [-Wuninitialized]
:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
        : AutoVectorRooter(cx, VALVECTOR)
          ^
./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),
                                 ^
./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),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
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 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),
                                 ^
In file included from jsbool.cpp:47:
In file included from ./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
./jsatom.h:52:
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
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 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),
                                 ^
./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),
                                 ^
./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:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
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 4 [-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),
                                 ^
./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),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsatom.cpp:65:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
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:    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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 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:58:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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 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_assert4' [-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
                                        ^
:345:1: note: expanded from here
js_static_assert4
^
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_assert5' [-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
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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:739:9: warning: unused typedef 'js_static_assert6' [-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
                                        ^
: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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
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_assert8' [-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
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
./jsstr.h:571: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 jsbool.cpp:47:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:62:
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:64In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert46' [-Wunused-local-typedef]
:
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert4' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: :120:21: note: expanded from macro 'JS_STATIC_ASSERT'
note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define 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]
                    ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:62:
./jsfun.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'
:228:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));:345:1: note: expanded from here
js_static_assert4
^
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
In file included from jsatom.cpp:
51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118::56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert5' [-Wunused-local-typedef]
40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y./jsutil.h:118:40: note: 
                                        ^
:58:1: note: expanded from here
js_static_assert47
^
In file included from jsbool.cpp:49expanded from macro 'JS_STATIC_ASSERT_GLUE'
:
In file included from ./jscntxt.h:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:62:
./jsfun.h:117:41229:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^./jsutil.h:120:21: 
:347:note: expanded from macro 'JS_STATIC_ASSERT'
1: note: expanded from here
js_static_assert5        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^

./jsutil.h:118:40: ^
note: In file included from jsatom.cpp:expanded from macro 'JS_STATIC_ASSERT_GLUE'
51:
In file included from ./jsatom.h:52    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h::
In file included from ./jsstr.h:56:
117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
In file included from ./jsobj.h:64:
./jsvalue.h    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:60:1: note: expanded from here
:739:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
js_static_assert48
^
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:63:

        ^
./jsgc.h./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
:514:5: warning: unused typedef 'js_static_assert56' [-Wunused-local-typedef]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note:     JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:120:21expanded from macro 'JS_STATIC_ASSERT_GLUE'
: note: expanded from macro 'JS_STATIC_ASSERT'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
:./jsutil.h41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:118:40: note:     #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:expanded from macro 'JS_STATIC_ASSERT_GLUE'
349:1: note:     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:expanded from here
117:js_static_assert6
^
41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'In file included from jsatom.cpp:
51:
In file included from     #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
./jsatom.h:52:76:1: :
In file included from ./jsstr.hnote: expanded from here
:56js_static_assert56
^
:
In file included from ./jsobj.h:64:
./jsvalue.h:In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5740:9: warning: : warning: unused typedef 'js_static_assert57' [-Wunused-local-typedef]
unused typedef 'js_static_assert7' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
./jsutil.h:120:        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^21: 
./jsutil.hnote: :120:expanded from macro 'JS_STATIC_ASSERT'
21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^note: expanded from macro 'JS_STATIC_ASSERT_GLUE'

./jsutil.h:118:40: note:     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)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
                                        ^
:
./jsutil.h:117:78:141: : note: expanded from here
note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
js_static_assert57
^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
In file included from js_static_assert7
^jsbool.cpp:49:
In file included from ./jscntxt.h:66:

./jsinterp.h:779:9In file included from jsatom.cpp:: warning: 51:
In file included from unused typedef 'js_static_assert60' [-Wunused-local-typedef]./jsatom.h:52
:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h64:
./jsvalue.h:120::741:219: : note: expanded from macro 'JS_STATIC_ASSERT'
warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'

./jsutil.h:120:21:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
 note: expanded from macro 'JS_STATIC_ASSERT'    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:
84:1: note: expanded from here
js_static_assert60
^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]In file included from jsbool.cpp:49:
In file included from ./jscntxt.h:66:
./jsinterp.h:
                    ^
778:9: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
./jsutil.h:118:40: note:         JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
./jsutil.hexpanded from macro 'JS_STATIC_ASSERT_GLUE'
: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:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:1:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117: note: expanded from here41: 
note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
js_static_assert8
^    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y

                                        ^
In file included from jsatom.cpp::82:51:
In file included from ./jsatom.h:52:
./jsstr.h:4591:9:: note: expanded from here
 warning: js_static_assert59
^unused typedef 'js_static_assert37' [-Wunused-local-typedef]

In file included from jsbool.cpp:58:
In file included from ./jsobjinlines.h:53        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^:
In file included from ./jsscope.h:59
./jsutil.h:120:
./jsstrinlines.h::21:202:5 note: expanded from macro 'JS_STATIC_ASSERT': warning: unused typedef 'js_static_assert63' [-Wunused-local-typedef]

    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
./jsutil.h        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^:120:
./jsutil.h21: note: expanded from macro 'JS_STATIC_ASSERT':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    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^: note: 
./jsutil.hexpanded 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
                                        ^
:411    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^:1:
:180:1:  note: expanded from herenote: expanded from here

js_static_assert63
^
js_static_assert37
^
In file included from jsatom.cpp:In file included from jsbool.cpp:51:
In file included from 58:
In file included from ./jsatom.h:52./jsobjinlines.h:53:
./jsstr.h::
In file included from 571:9: ./jsscope.h:59warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert64' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
:21:./jsutil.h:120 note: expanded from macro 'JS_STATIC_ASSERT':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
./jsutil.h:118::118:40: 40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
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
./jsutil.h:117::117:41: note: 41: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:182:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^1: note: expanded from here
:423:
1js_static_assert64: note: 
^
expanded from here
In file included from jsbool.cpp:js_static_assert43
^58:
In file included from ./jsobjinlines.h:53:

./jsscope.h:431In file included from jsatom.cpp::9:51:
In file included from  warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]./jsatom.h:52
:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert41' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
./jsutil.h:120:        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
21./jsutil.h:120:: note: expanded from macro 'JS_STATIC_ASSERT'
21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
expanded from macro 'JS_STATIC_ASSERT_GLUE'./jsutil.h:
118:40: note:     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41expanded from macro 'JS_STATIC_ASSERT_GLUE'
: 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
                                        ^
:184:1                                       ^
: note: ./jsutil.h:expanded from here
117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
js_static_assert65
^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:419:1: note: In file included from jsbool.cpp:47:
expanded from here
In file included from ./jsatom.h:js_static_assert41
52:
./jsstr.h:^
525:In file included from jsatom.cpp:51:
In file included from 14: warning: private field 'mDummy' is not used [-Wunused-private-field]./jsatom.h:52:

./jsstr.h:570:9: warning: unused typedef 'js_static_assert42' [-Wunused-local-typedef]
    JSString mDummy;
             ^
In file included from jsbool.cpp:49:
./jscntxt.h:250:        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
26: warning: private field 'padding' is not used [-Wunused-private-field]        ^

./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
    void                *padding;
                         ^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
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_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert48' [-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
                                        ^
:60:1: note: expanded from here
js_static_assert48
^
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert47' [-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
                                        ^
:58:1: note: expanded from here
js_static_assert47
^
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
In file included from jsatom.cpp:53:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-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
                                        ^
:82:1: note: expanded from here
js_static_assert59
^
In file included from jsatom.cpp:63:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert63' [-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
                                        ^
:180:1: note: expanded from here
js_static_assert63
^
In file included from jsatom.cpp:63:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert64' [-Wunused-local-typedef]In file included from 
jsclone.cpp:44:
In file included from ./jsregexpinlines.h    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
./jsutil.h:120:45:
./jsobjinlines.h:302::21: note: expanded from macro 'JS_STATIC_ASSERT'
20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:182:1: note: expanded from here
js_static_assert64
^
In file included from jsatom.cpp:65:
In file included from ./jsobjinlines.h:53:
./jsscope.h:431:9: ./jsobjinlines.h:302:20: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
note: place parentheses around the '+' expression to silence this warning
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);./jsutil.h:120:21: note: 
                   ^
expanded from macro 'JS_STATIC_ASSERT'
                  )
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:184
             (                                            )
:1: note: expanded from here
js_static_assert65
^
In file included from jsatom.cpp:51:
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 jsatom.cpp:53:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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);
                   ^
             (                                            )
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);
                   ^
             (                                            )
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 {
        ^
26 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 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()
    ^
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 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 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 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
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:        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
  : 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)
        ^
41 warnings generated.
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 jsclone.cpp:44:
In file included from ./jsregexpinlines.h:45:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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:In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
 note: in instantiation of member function 'js::Vector::Vector' requested here
In file included from ./jsatom.h      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
: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 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),
                                 ^
In file included from jsarray.cpp:86./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56
    ExecutableAllocator() {}
    ^
:
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 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 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 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 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 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 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 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:110:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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 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.cpp:238:45: note: in instantiation of member function 'js::Vector::Vector' requested here
SCOutput::SCOutput(JSContext *cx) : cx(cx), buf(cx) {}
                                            ^
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 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 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_assert4' [-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'
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    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:9: warning: unused typedef 'js_static_assert4' [-Wunused-local-typedef]
:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
./jsutil.h::345:1: 120:21: note: expanded from here
js_static_assert4
note: expanded from macro 'JS_STATIC_ASSERT'
^
In file included from jsarray.cpp        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118::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:6440: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:
./dist/include/jsvalue.h:738:9: warning: unused typedef 'js_static_assert5' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
: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
                                        ^
:345:1:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117 note: expanded from here
:41js_static_assert4
^
In file included from : note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
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:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^738:9: warning: unused typedef 'js_static_assert5' [-Wunused-local-typedef]

:347:1:        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120: note: expanded from here21: note: expanded from macro 'JS_STATIC_ASSERT'

js_static_assert5
^        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^

./jsutil.h:118:In file included from jsarray.cpp:86:
In file included from 40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
./jsarray.h:47:
In file included from ./jsatom.h:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:11752:
In file included from :41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
./dist/include/jsstr.h:56:
In file included from     #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
./dist/include/jsobj.h:64:347::
./dist/include/jsvalue.h:1: note: 739:9expanded from here
:js_static_assert5
^
 warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
In file included from jsclone.cpp:39:
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^In file included from ./jsclone.h:43
./jsutil.h:
In file included from ./jscntxt.h::120:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:6421: :
./jsvalue.h:739:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:21: note:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^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:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
41./jsutil.h:117:: note: 41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:349    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
::1:349:1: note: expanded from here note: expanded from here

js_static_assert6js_static_assert6
^
^

In file included from jsclone.cppIn file included from jsarray.cpp::39:
In file included from 86:
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 ./jsarray.h:47./jsstr.h:56:
In file included from ./jsatom.h:
In file included from ./jsobj.h:52:
:64:
In file included from ./dist/include/jsstr.h:./jsvalue.h:74056:
In file included from :9:./dist/include/jsobj.h:64 warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]:
./dist/include/jsvalue.h:
740:9:        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note:  warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]expanded from macro 'JS_STATIC_ASSERT'

        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^:21:
./jsutil.h:118 note: expanded from macro 'JS_STATIC_ASSERT':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:117./jsutil.h:118:40:41:: note:  note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'expanded from macro 'JS_STATIC_ASSERT_GLUE'

    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
1: ./jsutil.h:117note: expanded from here
:41js_static_assert7
^
: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
In file included from jsclone.cpp:39:
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:In file included from ./jsclone.h:43:
1: note: expanded from here
In file included from ./jscntxt.h:59:
js_static_assert7
^
In file included from ./jsatom.h:In file included from jsarray.cpp:8652:
In file included from ./jsstr.h::
In file included from ./jsarray.h:56:
In file included from ./jsobj.h:47:
In file included from ./jsatom.h64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
64:
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
./dist/include/jsvalue.h:741:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
:./jsutil.h:120: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
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        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:353:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
1./jsutil.h:117:: note: expanded from here
41: js_static_assert8
^
note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
59:
In file included from ./jsatom.h:52:
:353:./jsstr.h:1: note: 459:expanded from here
9js_static_assert8
^
: warning: unused typedef 'js_static_assert37' [-Wunused-local-typedef]
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from         JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
./jsatom.h:52:
        ^
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-Wunused-local-typedef]
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        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:        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
 ./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'note: expanded from macro 'JS_STATIC_ASSERT_GLUE'

    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
 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
                                        ^

:411:1:     #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
note: :411:1:expanded from here
 js_static_assert37
^
note: expanded from here
In file included from jsarray.cpp:86:
In file included from ./jsarray.hjs_static_assert37
:47:
In file included from ^
./jsatom.h:52:
./dist/include/jsstr.h:570:9: warning: unused typedef 'js_static_assert42' [-Wunused-local-typedef]
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h::
In file included from ./jscntxt.h:59:
120:21:In file included from ./jsatom.h:52 note: expanded from macro 'JS_STATIC_ASSERT':
./jsstr.h:571:9: warning: 
unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
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:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^ note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
./jsutil.h
:117:41:     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
./jsutil.h:117:41: note:     #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^expanded from macro 'JS_STATIC_ASSERT_GLUE1'

:421    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^:1:
:423:1: note: expanded from here note: expanded from here

js_static_assert42
js_static_assert43
^
^
In file included from jsclone.cpp:In file included from jsarray.cpp:39:
In file included from ./jsclone.h:86:
In file included from 43:
In file included from ./jsarray.h:47./jscntxt.h:59:
In file included from ./jsatom.h:
In file included from ./jsatom.h:52:
:52:
./dist/include/jsstr.h:568./jsstr.h:570:9: warning: unused typedef 'js_static_assert41' [-Wunused-local-typedef]
:9: warning: unused typedef 'js_static_assert42' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21:        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
 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]
                    ^
./jsutil.h        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^:118:40
./jsutil.h: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:118: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)
                                       ^117:
./jsutil.h41: 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

                                        ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:421:419:1: :1: note: expanded from here
note: js_static_assert42expanded from here

^
js_static_assert41
In file included from jsclone.cpp:^
39:
In file included from jsarray.cppIn file included from ./jsclone.h:43:
:86:
In file included from In file included from ./jscntxt.h:59:
./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h./jsstr.h:568:571:9: warning: :9: unused typedef 'js_static_assert41' [-Wunused-local-typedef]
warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
21./jsutil.h:: note: 120:expanded from macro 'JS_STATIC_ASSERT'
21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
                    ^
./jsutil.h:118    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^: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
                                        ^./jsutil.h:117:41:
 note: :419:1:expanded from macro 'JS_STATIC_ASSERT_GLUE1'
 note: expanded from here
js_static_assert41    #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 In file included from jsarray.cpp:90./jscntxt.h:62:
In file included from :
In file included from ./jsfun.h:49./jstracer.h:49:
:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert46' [-Wunused-local-typedef]
In file included from ./dist/include/jscntxt.h:62:
In file included from ./jsfun.h        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
:./jsutil.h49:
:120:21:./jsscript.h:83: note: expanded from macro 'JS_STATIC_ASSERT'
9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
: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
                                        ^
:56:1:     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
note: ./jsutil.h:expanded from here
117:js_static_assert46
^
41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
In file included from jsclone.cpp:39:
In file included from     #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
./jsclone.h:43:
In file included from ./jscntxt.h::62:
In file included from ./jsfun.h266:1::49:
./jsscript.h: note: expanded from here
83:9js_static_assert45
: warning: ^
unused typedef 'js_static_assert45' [-Wunused-local-typedef]
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
62:
In file included from ./jsfun.h:49./jsutil.h:120:21:
./jsscript.h:84: note: expanded from macro 'JS_STATIC_ASSERT'
:9: warning: unused typedef 'js_static_assert46' [-Wunused-local-typedef]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note:         JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
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
                                        ^
:54:1: note: expanded from here    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)

js_static_assert45
^                                       ^

./jsutil.hIn file included from jsclone.cpp::117:4139:
In file included from ./jsclone.h:: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
43:
In file included from ./jscntxt.h:62:
./jsfun.h:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
229::9: warning: 268:1:unused typedef 'js_static_assert48' [-Wunused-local-typedef]
 note: expanded from here
js_static_assert46
^
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
In file included from jsarray.cpp:90:
In file included from         ^
./jstracer.h./jsutil.h:120:21: :49:
In file included from note: expanded from macro 'JS_STATIC_ASSERT'
./dist/include/jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note:         JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
expanded from macro 'JS_STATIC_ASSERT_GLUE'
        ^
./jsutil.h:120:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^21: note: expanded from macro 'JS_STATIC_ASSERT'

./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]
                    ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y./jsutil.h:
                                        ^
118:40:60:1:: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
 note: expanded from here
js_static_assert48
^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
In file included from jsclone.cpp:                                       ^
39./jsutil.h::
In file included from ./jsclone.h:43117::
In file included from ./jscntxt.h41::62:
./jsfun.h: note: 228:9: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:270:        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
1: note: ./jsutil.h:120:21expanded from here
: note: expanded from macro 'JS_STATIC_ASSERT'
js_static_assert47
^
In file included from jsarray.cpp:        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^90:
In file included from ./jstracer.h
./jsutil.h:49:
In file included from ./dist/include/jscntxt.h::118:40:62:
./jsfun.h: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
229:9: warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41:        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
 note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
./jsutil.h:120:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^21: note: expanded from macro 'JS_STATIC_ASSERT'

:58:1: note: expanded from here
js_static_assert47        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^

./jsutil.h:118:40:^
 note: In file included from jsclone.cpp:expanded from macro 'JS_STATIC_ASSERT_GLUE'
39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:63    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
:
./jsgc.h:514:                                       ^
5./jsutil.h:: warning: unused typedef 'js_static_assert56' [-Wunused-local-typedef]
117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
./jsutil.h:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
120:21:272:: note: expanded from macro 'JS_STATIC_ASSERT'
1: note: expanded from here
js_static_assert48        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
^
./jsutil.h
:118In file included from jsarray.cpp:40::90 note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:63:
./jsgc.h    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
:514:5./jsutil.h:117: warning: unused typedef 'js_static_assert56' [-Wunused-local-typedef]:41: note: 
expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^

                                        ^
./jsutil.h::76120::1: note: 21: note: expanded from here
expanded from macro 'JS_STATIC_ASSERT'
js_static_assert56
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
:
./jsutil.h:118:In file included from ./jscntxt.h:63:
40: note: ./jsgc.h:550:5expanded from macro 'JS_STATIC_ASSERT_GLUE'
: warning: unused typedef 'js_static_assert57' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^./jsutil.h:117:
./jsutil.h41::120:21: note:  note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
expanded from macro 'JS_STATIC_ASSERT'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:288:1: note:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^expanded from here

./jsutil.h:js_static_assert56
^
118:40: In file included from jsarray.cpp:90note: expanded from macro 'JS_STATIC_ASSERT_GLUE':
In file included from 
./jstracer.h:49:
In file included from ./dist/include/jscntxt.h    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
:63./jsutil.h:117:
./jsgc.h:41: note: :550:5expanded from macro 'JS_STATIC_ASSERT_GLUE1'
: warning: unused typedef 'js_static_assert57' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:78:1:    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
 ./jsutil.h:note: expanded from here
120js_static_assert57:21
^
: note: expanded from macro 'JS_STATIC_ASSERT'
In file included from jsclone.cpp:39        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
:
./jsutil.h:118:In file included from ./jsclone.h:40:43:
In file included from ./jscntxt.h: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert60' [-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'
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
./jsutil.h:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
120::21:290:1: note: expanded from macro 'JS_STATIC_ASSERT'
 note: expanded from here
js_static_assert57
^
        typedef 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     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^jsarray.cpp:
./jsutil.h90:
:117:41:In file included from ./jstracer.h note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:49:
In file included from ./dist/include/jscntxt.h:66:
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:84:1./jsinterp.h:778:: 9:note: expanded from here
 warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
js_static_assert60
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
43:
In file included from         ^
./jscntxt.h:66:
./jsutil.h:120:./jsinterp.h:778:921: note: expanded from macro 'JS_STATIC_ASSERT'
: 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(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);./jsutil.h:
        ^
118./jsutil.h:120:21:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE': note: expanded from macro 'JS_STATIC_ASSERT'

        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                                       ^
:./jsutil.h:117:41:118:40:  note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
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)
                                       ^:294
./jsutil.h:1:117:41:: note: expanded from here
 note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
js_static_assert59
^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
In file included from jsarray.cpp:90                                        ^
:82:1: :
In file included from note: expanded from here
./jstracer.hjs_static_assert59
^:49:
In file included from 
./dist/include/jscntxt.hIn file included from jsclone.cpp:39:
:66:
./jsinterp.h./jsclone.h:101:9:779: warning: unused typedef 'js_static_assert64' [-Wunused-local-typedef]
:9: warning: unused typedef 'js_static_assert60' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(uint32_t) == 4);
        ^
./jsutil.h:120:21:         JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
note: ./jsutil.h:120:expanded from macro 'JS_STATIC_ASSERT'
21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
                    ^
./jsutil.h:118    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^:40
./jsutil.h: note: expanded from macro 'JS_STATIC_ASSERT_GLUE':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::92:1:41: note: expanded from here
 note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
js_static_assert64
^
In file included from jsclone.cpp:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
39:
./jsclone.h:100                                        ^
::9: warning: unused typedef 'js_static_assert63' [-Wunused-local-typedef]
296:1:        JS_STATIC_ASSERT(sizeof(jschar) == 2);
        ^ note: 
./jsutil.h:120:21expanded from here
: note: js_static_assert60
^
expanded from macro 'JS_STATIC_ASSERT'
In file included from jsarray.cpp:101:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^5:
./jsutil.h warning: unused typedef 'js_static_assert63' [-Wunused-local-typedef]
:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h./jsutil.h:117:120:21:41: note: : note: expanded from macro 'JS_STATIC_ASSERT'
expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
90:1./jsutil.h:118:: note: expanded from here
40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
js_static_assert63
^
In file included from jsclone.cpp:39:
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
./jsclone.h:102:9                                       ^
:./jsutil.h:117:41: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef] note: 
expanded from macro 'JS_STATIC_ASSERT_GLUE1'
        JS_STATIC_ASSERT(sizeof(jsdouble) == 8);
        ^
./jsutil.h:120:21    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
: note: :expanded from macro 'JS_STATIC_ASSERT'137:
1: note: expanded from here
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]js_static_assert63

                    ^
./jsutil.h^
:118In file included from jsarray.cpp:40::101 note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
 warning: unused typedef 'js_static_assert64' [-Wunused-local-typedef]
./jsutil.h:117:41: note:     JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
expanded from macro 'JS_STATIC_ASSERT_GLUE1'./jsutil.h:
120:21: note: expanded from macro 'JS_STATIC_ASSERT'    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:94:1
: note: expanded from here
js_static_assert65
^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
In file included from jsclone.cpp:./jsutil.h:44:
In file included from ./jsregexpinlines.h:45:
118:40:In file included from ./jsobjinlines.h:53:
 note: In file included from ./jsscope.h:59:
expanded from macro 'JS_STATIC_ASSERT_GLUE'
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41:     JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
./jsutil.h:120:21:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
 note: expanded from macro 'JS_STATIC_ASSERT'
                                        ^
:139:1: note:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
expanded from here
./jsutil.h:118:40:js_static_assert64
 note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
^
In file included from jsarray.cpp:101:
./jsscope.h    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
:431./jsutil.h:117:41:9: : note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:186:1        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
: note:         ^
expanded from here
./jsutil.hjs_static_assert66:120
^
:21In file included from jsclone.cpp:44:
: note: expanded from macro 'JS_STATIC_ASSERT'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:        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
 warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
                    ^
./jsutil.h:    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
118:./jsutil.h:120:2140: note: : note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
expanded from macro 'JS_STATIC_ASSERT'
    #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:117:41:./jsutil.h:118:40 note: : note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
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./jsutil.h:117
                                        ^:41: note: 
:141:expanded from macro 'JS_STATIC_ASSERT_GLUE1'
1: note: expanded from here
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^js_static_assert65
^

jsarray.cpp:230::188:5:1: note: expanded from here warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]

js_static_assert67
^
    JS_STATIC_ASSERT(sizeof(jsuint) == sizeof(uint32_t));
    ^
In file included from ./jsutil.h:jsclone.cpp:44120::
In file included from ./jsregexpinlines.h:4521: note: :
In file included from ./jsobjinlines.h:53:
./jsscope.h:431expanded from macro 'JS_STATIC_ASSERT'
:9: warning: unused typedef 'js_static_assert68' [-Wunused-local-typedef]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
                    ^
./jsutil.h:
./jsutil.h:120118::21: note: expanded from macro 'JS_STATIC_ASSERT'
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:     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
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)
                                       ^
./jsutil.h    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
:117:                                        ^
41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:143:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:190:1: 1: note: note: expanded from here
expanded from herejs_static_assert68
^

js_static_assert66
^
jsclone.cpp:jsarray.cpp:203:5256:5:: warning:  warning: unused typedef 'js_static_assert71' [-Wunused-local-typedef]
unused typedef 'js_static_assert67' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(uint64_t) % sizeof(T) == 0);
    ^
    JS_STATIC_ASSERT((jsuint)-1 == 4294967295U);./jsutil.h:120:21
    ^
./jsutil.h:: note: 120:expanded from macro 'JS_STATIC_ASSERT'
21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
note: ./jsutil.h:expanded from macro 'JS_STATIC_ASSERT_GLUE'
118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
 note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
                                       ^
./jsutil.h:117:41    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
: :205note: expanded from macro 'JS_STATIC_ASSERT_GLUE1':1: note: 
expanded from here
js_static_assert71
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
^
:145:1jsclone.cpp:412: note: expanded from here:5:
 warning: js_static_assert67
unused typedef 'js_static_assert77' [-Wunused-local-typedef]
^
    JS_STATIC_ASSERT(TypedArray::TYPE_INT32 == 4);In file included from jsarray.cpp:86
    ^
:
./jsutil.h:120In file included from ./jsarray.h:47:
In file included from :21:./jsatom.h: note: expanded from macro 'JS_STATIC_ASSERT'
52:
./dist/include/jsstr.h:525:14:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^warning: private field 'mDummy' is not used [-Wunused-private-field]

./jsutil.h    JSString mDummy;
:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
             ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41:In file included from jsarray.cpp:90 note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:
In file included from ./jstracer.h:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
49:
:217./dist/include/jscntxt.h::1: note: 250:expanded from here
26:js_static_assert77
^ warning: 
jsclone.cppprivate field 'padding' is not used [-Wunused-private-field]
:411:5:     void                *padding;
                         ^
warning: unused typedef 'js_static_assert76' [-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
                                        ^
:215:1: note: expanded from here
js_static_assert76
^
jsclone.cpp:416:5: warning: unused typedef 'js_static_assert81' [-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
                                        ^
:225:1: note: expanded from here
js_static_assert81
^
jsclone.cpp:410:5: warning: unused typedef 'js_static_assert75' [-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
                                        ^
:213:1: note: expanded from here
js_static_assert75
^
jsclone.cpp:409:5: warning: unused typedef 'js_static_assert74' [-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
                                        ^
:211:1: note: expanded from here
js_static_assert74
^
jsclone.cpp:414:5: warning: unused typedef 'js_static_assert79' [-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
                                        ^
:221:1: note: expanded from here
js_static_assert79
^
jsclone.cpp:408:5: warning: unused typedef 'js_static_assert73' [-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
                                        ^
:209:1: note: expanded from here
js_static_assert73
^
jsclone.cpp:415:5: warning: unused typedef 'js_static_assert80' [-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
                                        ^
:223:1: note: expanded from here
js_static_assert80
^
jsclone.cpp:413:5: warning: unused typedef 'js_static_assert78' [-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
                                        ^
:219:1: note: expanded from here
js_static_assert78
^
jsclone.cpp:417:5: warning: unused typedef 'js_static_assert82' [-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
                                        ^
:227:1: note: expanded from here
js_static_assert82
^
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;
             ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
jsapi.cpp:1641:12: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 4 [-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 4 [-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 4 [-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 4 [-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:1987:16: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 4 [-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: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 {
        ^
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 {
        ^
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 jscntxt.cpp:62:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
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:94:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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 jscompartment.cpp:41:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
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)
    ^
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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: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()
           ^
41 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: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 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_assert4' [-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
                                        ^
:345:1: note: expanded from here
js_static_assert4
^
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_assert5' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jscntxt.h:2179:14: warning: ./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]

           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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_assert6' [-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
                                        ^
: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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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:741:9: warning: unused typedef 'js_static_assert8' [-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
                                        ^
: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:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
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_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_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_assert46' [-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
                                        ^
:268:1: note: expanded from here
js_static_assert46
^
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_assert45' [-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
                                        ^
:266:1: note: expanded from here
js_static_assert45
^
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_assert48' [-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
                                        ^
:272: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:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert47' [-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
                                        ^
:270: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:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:288:1: note: expanded from here
js_static_assert56
^
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_assert57' [-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
                                        ^
:290:1: note: expanded from here
js_static_assert57
^
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_assert59' [-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
                                        ^
:294: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:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:296:1: note: expanded from here
js_static_assert60
^
In file included from jsapi.cpp:61:
./jsclone.h:101:9: warning: unused typedef 'js_static_assert64' [-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
                                        ^
:304:1: note: expanded from here
js_static_assert64
^
In file included from jsapi.cpp:61:
./jsclone.h:102:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:306:1: note: expanded from here
js_static_assert65
^
In file included from jsapi.cpp:61:
./jsclone.h:100:9: warning: unused typedef 'js_static_assert63' [-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
                                        ^
:302:1: note: expanded from here
js_static_assert63
^
In file included from jsapi.cpp:81:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert66' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert66
^
In file included from jsapi.cpp:81:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert67' [-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
                                        ^
:80:1: note: expanded from here
js_static_assert67
^
In file included from jsapi.cpp:81:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert68' [-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
                                        ^
:82:1: note: expanded from here
js_static_assert68
^
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 jsapi.cpp:61:
In file included from ./jsclone.h:43:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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 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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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:47:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jscompartment.cpp:47:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jscntxt.cpp:81:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jscntxt.cpp:81:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jsdate.cpp:66:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jsdate.cpp:66:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
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);
                   ^
             (                                            )
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);
                   ^
             (                                            )
jscntxt.cpp:253:15: warning: cast from 'js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        end = (Value *)seg;
              ^~~~~~~~~~~~
In file included from jsdate.cpp:67:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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 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 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 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)
          ^
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 file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from in instantiation of member function 'js::Vector::Vector' requested here
./dist/include/jsstr.h      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
: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),
                                 ^
./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 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 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 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 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 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 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 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 jscompartment.cpp:51:
In file included from ./methodjit/PolyIC.h:50:
In file included from ./methodjit/BaseAssembler.h:53:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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 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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 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 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 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:90:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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_assert4' [-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
                                        ^
:345:1: note: expanded from here
js_static_assert4
^
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_assert5' [-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
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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:In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:9: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
52:
In file included from         JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
./jsutil.h:120:./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
21: note: expanded from macro 'JS_STATIC_ASSERT'
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note:   : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40expanded from macro 'JS_STATIC_ASSERT_GLUE'
: note: in instantiation of member function 'js::Vector::Vector' requested here
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
                                       ^
./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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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:741:9: warning: unused typedef 'js_static_assert8' [-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
                                        ^
: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:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
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_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_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:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
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_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert48' [-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
                                        ^
:60: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_assert47' [-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
                                        ^
:58:1: note: expanded from here
js_static_assert47
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-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
                                        ^
:82:1: note: expanded from here
js_static_assert59
^
In file included from jscompartment.cpp:46:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert63' [-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
                                        ^
:180:1: note: expanded from here
js_static_assert63
^
In file included from jscompartment.cpp:46:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert64' [-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
                                        ^
:182:1: note: expanded from here
js_static_assert64
^
In file included from jscompartment.cpp:46:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:184:1: note: expanded from here
js_static_assert65
^
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 jscompartment.cpp:41:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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_assert4' [-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
                                        ^
:345:1: note: expanded from here
js_static_assert4
^
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_assert5' [-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
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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_assert6' [-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
                                        ^
: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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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:741:9: warning: unused typedef 'js_static_assert8' [-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
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
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_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
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_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_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:62:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
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_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert47' [-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
                                        ^
:58:1: note: expanded from here
js_static_assert47
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert48' [-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
                                        ^
:60:1: note: expanded from here
js_static_assert48
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
In file included from jscntxt.cpp:62:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-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
                                        ^
:82:1: note: expanded from here
js_static_assert59
^
In file included from jscntxt.cpp:77:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert63' [-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
                                        ^
:180:1: note: expanded from here
js_static_assert63
^
In file included from jscntxt.cpp:77:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert64' [-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
                                        ^
:182:1: note: expanded from here
js_static_assert64
^
In file included from jscntxt.cpp:77:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:184:1: note: expanded from here
js_static_assert65
^
jscntxt.cpp:746:5: warning: unused typedef 'js_static_assert66' [-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
                                        ^
:108:1: note: expanded from here
js_static_assert66
^
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 jscntxt.cpp:62:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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 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:74:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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:739:9: warning: unused typedef 'js_static_assert6' [-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
                                        ^
:18:1: note: expanded from here
js_static_assert6
^
In file included from jsdate.cpp:66:
In file included from ./jsbuiltins.h:46:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert5' [-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
                                        ^
:16:1: note: expanded from here
js_static_assert5
^
In file included from jsdate.cpp:66:
In file included from ./jsbuiltins.h:46:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert8' [-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
                                        ^
:22: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_assert4' [-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
                                        ^
:14:1: note: expanded from here
js_static_assert4
^
In file included from jsdate.cpp:66:
In file included from ./jsbuiltins.h:46:
./jsvalue.h:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
:20:1: note: expanded from here
js_static_assert7
^
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_assert37' [-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
                                        ^
:143:1: note: expanded from here
js_static_assert37
^
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_assert41' [-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
                                        ^
:151:1: note: expanded from here
js_static_assert41
^
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_assert42' [-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
                                        ^
:153:1: note: expanded from here
js_static_assert42
^
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_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
                                        ^
:155:1: note: expanded from here
js_static_assert43
^
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_assert45' [-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
                                        ^
:237:1: note: expanded from here
js_static_assert45
^
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_assert46' [-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
                                        ^
:239:1: note: expanded from here
js_static_assert46
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert47' [-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
                                        ^
:241: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_assert48' [-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
                                        ^
:243:1: note: expanded from here
js_static_assert48
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:259:1: note: expanded from here
js_static_assert56
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-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
                                        ^
:261:1: note: expanded from here
js_static_assert57
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-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
                                        ^
:265:1: note: expanded from here
js_static_assert59
^
In file included from jsdate.cpp:67:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:267:1: note: expanded from here
js_static_assert60
^
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_assert63' [-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
                                        ^
:71:1: note: expanded from here
js_static_assert63
^
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_assert64' [-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
                                        ^
:73:1: note: expanded from here
js_static_assert64
^
In file included from jsdate.cpp:74:
In file included from ./jsobjinlines.h:53:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:75:1: note: expanded from here
js_static_assert65
^
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;
             ^
In file included from jsdate.cpp:67:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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 4 [-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);
                   ^
             (                                            )
45 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 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: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;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
46 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 jsdbgapi.cpp:79:
In file included from ./methodjit/Retcon.h:52:
In file included from ./methodjit/Compiler.h:49:
In file included from ./methodjit/StubCompiler.h:47:
In file included from ./methodjit/FrameState.h:45:
./methodjit/FrameEntry.h:69:25: warning: passing 4-byte aligned argument to 8-byte aligned parameter 1 of 'Valueify' may result in an unaligned pointer access [-Walign-mismatch]
        return Valueify(JSVAL_FROM_LAYOUT(v_));
                        ^
./jsval.h:823:30: note: expanded from macro 'JSVAL_FROM_LAYOUT'
#define JSVAL_FROM_LAYOUT(l) ((l).asBits)
                             ^
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)
    ^
jsdbgapi.cpp:250:17: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
    for (trap = (JSTrap *)rt->trapList.next;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdbgapi.cpp:252:17: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
         trap = (JSTrap *)trap->links.next) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
jsdbgapi.cpp:269:17: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
    for (trap = (JSTrap *)rt->trapList.next;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdbgapi.cpp:272:17: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
         trap = (JSTrap *)trap->links.next) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
jsdbgapi.cpp:416:17: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
    for (trap = (JSTrap *)rt->trapList.next;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdbgapi.cpp:419:16: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
        next = (JSTrap *)trap->links.next;
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
jsdbgapi.cpp:425:24: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
                next = (JSTrap *)rt->trapList.next;
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdbgapi.cpp:440:17: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
    for (trap = (JSTrap *)rt->trapList.next;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdbgapi.cpp:443:16: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
        next = (JSTrap *)trap->links.next;
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
jsdbgapi.cpp:448:20: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
            next = (JSTrap *)rt->trapList.next;
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdbgapi.cpp:463:25: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
    for (JSTrap *trap = (JSTrap *) rt->trapList.next;
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsdbgapi.cpp:465:17: warning: cast from 'struct JSCListStr *' to 'JSTrap *' increases required alignment from 4 to 8 [-Wcast-align]
         trap = (JSTrap *) trap->links.next) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
8 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 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),
                                 ^
./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:72:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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 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_assert4' [-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
                                        ^
:345:1: note: expanded from here
js_static_assert4
^
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_assert5' [-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
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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_assert6' [-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
                                        ^
: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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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:741:9: warning: unused typedef 'js_static_assert8' [-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
                                        ^
: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:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
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_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_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:84:9: warning: unused typedef 'js_static_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
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_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert47' [-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
                                        ^
:58:1: note: expanded from here
js_static_assert47
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert48' [-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
                                        ^
:60:1: note: expanded from here
js_static_assert48
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-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
                                        ^
:82:1: note: expanded from here
js_static_assert59
^
In file included from jsdbgapi.cpp:63:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert63' [-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
                                        ^
:180:1: note: expanded from here
js_static_assert63
^
In file included from jsdbgapi.cpp:63:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert64' [-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
                                        ^
:182:1: note: expanded from here
js_static_assert64
^
In file included from jsdbgapi.cpp:63:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:184:1: note: expanded from here
js_static_assert65
^
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 jsdbgapi.cpp:52:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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 {
        ^
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:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsemit.cpp:58:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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 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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 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 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);
                   ^
             (                                            )
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 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);
                               ^~~~~~~~
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);
                   ^
             (                                            )
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:54:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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:737:9: warning: unused typedef 'js_static_assert4' [-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
                                        ^
:249:1: note: expanded from here
js_static_assert4
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:50:
./jsvalue.h:741:9: warning: unused typedef 'js_static_assert8' [-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
                                        ^
: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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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_assert6' [-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
                                        ^
:253:1: note: expanded from here
js_static_assert6
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:50:
./jsvalue.h:738:9: warning: unused typedef 'js_static_assert5' [-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
                                        ^
:251:1: note: expanded from here
js_static_assert5
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
In file included from jsdtoa.cpp:49:
In file included from ./jsnum.h:53:
./jsstr.h:571: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:49:
In file included from ./jsnum.h:53:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
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_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert48' [-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
                                        ^
:60:1: note: expanded from here
js_static_assert48
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert47' [-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
                                        ^
:58:1: note: expanded from here
js_static_assert47
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
In file included from jsdtoa.cpp:52:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-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
                                        ^
:82: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_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
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_assert63' [-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
                                        ^
:180:1: note: expanded from here
js_static_assert63
^
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_assert64' [-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
                                        ^
:182:1: note: expanded from here
js_static_assert64
^
In file included from jsdtoa.cpp:54:
In file included from ./jsobjinlines.h:53:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:184:1: note: expanded from here
js_static_assert65
^
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 jsdtoa.cpp:52:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
jsemit.cpp:4100:10: warning: variable 'forInLet' set but not used [-Wunused-but-set-variable]
    bool forInLet, popScope;
         ^
45 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
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:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
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 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 jsexn.cpp:52:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
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:73:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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_assert4' [-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'
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^

:345:1:           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
 note: expanded from here
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))js_static_assert4
^
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_assert5' [-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
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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_assert6' [-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
                                        ^
: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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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:741:9: warning: unused typedef 'js_static_assert8' [-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
                                        ^
:353:1: note: expanded from here
js_static_assert8
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
In file included from jsemit.cpp:56:
In file included from ./jsatom.h:52:
./jsstr.h:571: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:83:9: warning: unused typedef 'js_static_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
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_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert48' [-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
                                        ^
:60:1: note: expanded from here
js_static_assert48
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert47' [-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
                                        ^
:58:1: note: expanded from here
js_static_assert47
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-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
                                        ^
:82:1: note: expanded from here
js_static_assert59
^
In file included from jsemit.cpp:58:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
In file included from jsemit.cpp:67:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert63' [-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
                                        ^
:180:1: note: expanded from here
js_static_assert63
^
In file included from jsemit.cpp:67:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert64' [-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
                                        ^
:182:1: note: expanded from here
js_static_assert64
^
In file included from jsemit.cpp:67:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:184:1: note: expanded from here
js_static_assert65
^
jsemit.cpp:1318:5: warning: unused typedef 'js_static_assert67' [-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
                                        ^
:188:1: note: expanded from here
js_static_assert67
^
jsemit.cpp:1774:5: warning: unused typedef 'js_static_assert69' [-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
                                        ^
:192:1: note: expanded from here
js_static_assert69
^
jsemit.cpp:1773:5: warning: unused typedef 'js_static_assert68' [-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
                                        ^
:190:1: note: expanded from here
js_static_assert68
^
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 jsemit.cpp:58:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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 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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 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);
                   ^
             (                                            )
jsexn.cpp:188:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSErrorReport *' increases required alignment from 1 to 4 [-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 4 [-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;
                          ^~~~~~~~~~~~~~~~~~~~~~
jsexn.cpp:259:12: warning: cast from 'JSStackTraceElem *' to 'jsval *' (aka 'unsigned long long *') increases required alignment from 4 to 8 [-Wcast-align]
    return (jsval *)(priv->stackElems + priv->stackDepth);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsexn.cpp:450:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
        atom = *(JSAtom **)((uint8 *)atomState + offsets[i]);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsfriendapi.cpp:40:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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:
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 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 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 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 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 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 jsexn.cpp:67:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h: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 125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
./jsobj.h:65            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
:168:23:   : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:
3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
        : 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_assert4' [-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
                                        ^
: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.h345:1: note: expanded from here
:56js_static_assert4
^
In file included from jsfriendapi.cpp:
In file included from ./jsobj.h:65:
./jsvector.h:394:40:
In file included from ./jscntxt.h:59:
In file included from :34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
738:9: warning: unused typedef 'js_static_assert5' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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_assert6' [-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
                                        ^
: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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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:741:9: warning: unused typedef 'js_static_assert8' [-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
                                        ^
: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:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
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_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_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:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert46' [-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'
In file included from     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41jsexn.cpp:52:
In file included from ./jscntxt.h:: note: 59:
In file included from ./jsatom.h:52:
expanded from macro 'JS_STATIC_ASSERT_GLUE1'
In file included from ./jsstr.h:56:
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:56In file included from ./jsobj.h:64:
./jsvalue.h::1:737:9: warning: unused typedef 'js_static_assert4' [-Wunused-local-typedef] note: expanded from here

        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
js_static_assert46
^        ^
./jsutil.h:120
In file included from jsfriendapi.cpp::21: note: expanded from macro 'JS_STATIC_ASSERT'
40:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40:83:9 note: expanded from macro 'JS_STATIC_ASSERT_GLUE': warning: 
unused typedef 'js_static_assert45' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^./jsutil.h:117
./jsutil.h:41::120: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'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]
                    ^:345
./jsutil.h:118::1:40:  note: expanded from herenote: expanded from macro 'JS_STATIC_ASSERT_GLUE'

js_static_assert4
^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
In file included from jsexn.cpp:                                       ^
./jsutil.h:11752:
In file included from :41:./jscntxt.h:59 note: expanded from macro 'JS_STATIC_ASSERT_GLUE1':
In file included from ./jsatom.h:52:

In file included from ./jsstr.h:56    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^:
In file included from ./jsobj.h
:54::64:
1: ./jsvalue.h:738note: expanded from here
:9: warning: js_static_assert45
^unused typedef 'js_static_assert5' [-Wunused-local-typedef]

In file included from jsfriendapi.cpp:        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^40:
In file included from 
./jsutil.h./jscntxt.h:62:120::
./jsfun.h:228:9: warning: 21: unused typedef 'js_static_assert47' [-Wunused-local-typedef]
note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^
./jsutil.h:120        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^: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::40: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'

                                        ^
:347: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
                                        ^
note: expanded from here
:58:1: note: expanded from herejs_static_assert5
^

js_static_assert47
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:62:
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./jsfun.h:229::7399: warning: :9unused typedef 'js_static_assert48' [-Wunused-local-typedef]
: warning: unused typedef 'js_static_assert6' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
./jsutil.h:120:21:        JS_STATIC_ASSERT(sizeof(JSBool) == 4);
        ^
 note: ./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
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'
                    ^
./jsutil.h:118:40: note:     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
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)
                                       ^
./jsutil.h:117:41    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:349:1: note: expanded from here
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
js_static_assert6
^
:60: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_assert7' [-Wunused-local-typedef]
1: note: expanded from here
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
js_static_assert48
^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
: warning: unused typedef 'js_static_assert56' [-Wunused-local-typedef]./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'

    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)./jsutil.h:120
                                       ^
./jsutil.h:21::117: note: expanded from macro 'JS_STATIC_ASSERT'41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'

    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1:        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^ note: expanded from here

./jsutil.h:118js_static_assert7
^:40:
 In file included from jsexn.cppnote: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:52:
In file included from ./jscntxt.h:59:
In file included from     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^./jsatom.h:
./jsutil.h:117:52:
41: In file included from ./jsstr.hnote: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:56:
In file included from ./jsobj.h:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:7664:
:1:./jsvalue.h: note: expanded from here
741:js_static_assert56
^
9In file included from jsfriendapi.cpp:: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]40:
In file included from ./jscntxt.h:
63:
./jsgc.h:550        JS_STATIC_ASSERT(sizeof(jsval) == 8);
:5:        ^
 ./jsutil.h:warning: unused typedef 'js_static_assert57' [-Wunused-local-typedef]
120:21: note: expanded from macro 'JS_STATIC_ASSERT'
    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        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
./jsutil.h
:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^

./jsutil.h:117:41:     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
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
                                        ^353:1:
 note: :78:expanded from here
1: note: expanded from herejs_static_assert8

^
js_static_assert57
^
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:In file included from jsfriendapi.cpp:40:
 warning: In file included from ./jscntxt.hunused typedef 'js_static_assert37' [-Wunused-local-typedef]
:66:
./jsinterp.h:779:9:         JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
warning: unused typedef 'js_static_assert60' [-Wunused-local-typedef]        ^

./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        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:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
note: expanded from macro 'JS_STATIC_ASSERT_GLUE'                    ^

./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)

                                       ^
./jsutil.h:117:41    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
:                                        ^
note: ./jsutil.h:expanded from macro 'JS_STATIC_ASSERT_GLUE1'
117:41: note:     #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:411:1: note: expanded from here    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y

                                        ^
js_static_assert37
^
:84:1In file included from jsexn.cpp: note: expanded from here:52
:
In file included from js_static_assert60
./jscntxt.h:^
59:
In file included from jsfriendapi.cppIn file included from ./jsatom.h:52:40:
./jsstr.h:
In file included from :570./jscntxt.h::966:
: ./jsinterp.h:warning: unused typedef 'js_static_assert42' [-Wunused-local-typedef]778:
9: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
./jsutil.h:120:21:        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
 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]
                    ^
./jsutil.h:118:40        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
:                     ^
note: ./jsutil.h:expanded from macro 'JS_STATIC_ASSERT_GLUE'
118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41:41: note:  note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
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
                                        ^
:421::1:82: note: 1:expanded from here
 note: expanded from here
js_static_assert42
^
js_static_assert59
^
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_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_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:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
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_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert47' [-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
                                        ^
:58: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_assert48' [-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
                                        ^
:60:1: note: expanded from here
js_static_assert48
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-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
                                        ^
:82:1: note: expanded from here
js_static_assert59
^
In file included from jsexn.cpp:60:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert63' [-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:11826 warnings generated.
:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:180:1: note: expanded from here
js_static_assert63
^
In file included from jsexn.cpp:60:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert64' [-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
                                        ^
:182:1: note: expanded from here
js_static_assert64
^
In file included from jsexn.cpp:60:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:184:1: note: expanded from here
js_static_assert65
^
jsexn.cpp:147:5: warning: unused typedef 'js_static_assert67' [-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
                                        ^
:188:1: note: expanded from here
js_static_assert67
^
jsexn.cpp:146:5: warning: unused typedef 'js_static_assert66' [-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
                                        ^
:186:1: note: expanded from here
js_static_assert66
^
jsexn.cpp:257:5: warning: unused typedef 'js_static_assert68' [-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
                                        ^
:190:1: note: expanded from here
js_static_assert68
^
jsexn.cpp:440:5: warning: unused typedef 'js_static_assert69' [-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
                                        ^
:192:1: note: expanded from here
js_static_assert69
^
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 jsexn.cpp:52:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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 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)
    ^
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 {
        ^
In file included from jsfun.cpp:53:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jsfun.cpp:53:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
58 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:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45 warnings generated.
jsgcchunk.cpp
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
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 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 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);
                   ^
             (                                            )
52 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 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)
    ^
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)
    ^
jsfun.cpp:1691:27: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 4 [-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 4 [-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 4 [-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 4 [-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: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: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
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
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)
                       ^
1 warning generated.
In file included from jsfun.cpp:91:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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 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)
                                       ^
61 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_assert4' [-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
                                        ^
:345:1: note: expanded from here
js_static_assert4
^
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_assert5' [-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
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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_assert6' [-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
                                        ^
: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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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:741:9: warning: unused typedef 'js_static_assert8' [-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
                                        ^
: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:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
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_assert41' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
./jsutil.h:120:21jsinvoke.cpp
: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_assert42' [-Wunused-local-typedef]
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
        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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_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_assert45' [-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
                                        ^
:266:1: note: expanded from here
js_static_assert45
^
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_assert46' [-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
                                        ^
:268:1: note: expanded from here
js_static_assert46
^
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_assert48' [-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
                                        ^
:272: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:228:9: warning: unused typedef 'js_static_assert47' [-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
                                        ^
:270:1: note: expanded from here
js_static_assert47
^
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_assert56' [-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
                                        ^
:288:1: note: expanded from here
js_static_assert56
^
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_assert57' [-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
                                        ^
:290:1: note: expanded from here
js_static_assert57
^
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_assert59' [-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
                                        ^
:294: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:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:296:1: note: expanded from here
js_static_assert60
^
In file included from jsfun.cpp:68:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert63' [-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
                                        ^
:72:1: note: expanded from here
js_static_assert63
^
In file included from jsfun.cpp:68:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert64' [-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
                                        ^
:74:1: note: expanded from here
js_static_assert64
^
In file included from jsfun.cpp:68:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert65
^
jsfun.cpp:186:5: warning: unused typedef 'js_static_assert66' [-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
                                        ^
:99:1: note: expanded from here
js_static_assert66
^
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 jsfun.cpp:54:
./dist/include/jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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:63:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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 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.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsgcstats.cpp:40:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
In file included from jsgc.cpp:75:
./jsparse.h:654:16: warning: cast from 'char *' to 'JSParseNode *' increases required alignment from 1 to 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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.h:302:5: note: previous statement is here
    if (!memory)
    ^
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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 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:44:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jsgcstats.cpp:44:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
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 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 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 {
        ^
./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:81:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jsgc.cpp:81In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13::
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
 warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
./jsvalue.h:737:9: warning: unused typedef 'js_static_assert4' [-Wunused-local-typedef]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
./jsutil.h:
./nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
120:21: note:             *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:345:1: note: expanded from here
js_static_assert4
^
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_assert5' [-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
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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_assert6' [-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
                                        ^
: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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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:741:9: warning: unused typedef 'js_static_assert8' [-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
                                        ^
: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:
./jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
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_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_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:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
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_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert47' [-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
                                        ^
:58:1: note: expanded from here
js_static_assert47
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert48' [-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
                                        ^
:60:1: note: expanded from here
js_static_assert48
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-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
                                        ^
:82:1: note: expanded from here
js_static_assert59
^
28 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 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:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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 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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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: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);
                   ^
             (                                            )
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 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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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()
    ^
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 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 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:91:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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)
                                       ^
In file included from jsinterp.cpp:75:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jsinterp.cpp:75:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
jsgc.cpp:581:36: warning: cast from 'js::gc::Cell *' to 'JSString *' increases required alignment from 1 to 4 [-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 4 [-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);
                   ^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:312:13: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    arena = (Arena *)getOtherArena();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1181:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:292:23: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *arena = (Arena*) freeLists[thingKind];
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsgc.h:303:23: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getTypedFreeList' requested here
    Arena *arena = getTypedFreeList(thingKind);
                      ^
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1181:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:312:13: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    arena = (Arena *)getOtherArena();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1183:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:292:23: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *arena = (Arena*) freeLists[thingKind];
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsgc.h:303:23: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getTypedFreeList' requested here
    Arena *arena = getTypedFreeList(thingKind);
                      ^
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1183:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:312:13: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    arena = (Arena *)getOtherArena();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1185:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:292:23: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *arena = (Arena*) freeLists[thingKind];
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsgc.h:303:23: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getTypedFreeList' requested here
    Arena *arena = getTypedFreeList(thingKind);
                      ^
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1185:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:75:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:75:
In file included from ./jstracer.h:48:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:312:13: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    arena = (Arena *)getOtherArena();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1187:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:292:23: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *arena = (Arena*) freeLists[thingKind];
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsgc.h:303:23: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getTypedFreeList' requested here
    Arena *arena = getTypedFreeList(thingKind);
                      ^
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1187:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:312:13: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    arena = (Arena *)getOtherArena();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1189:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:292:23: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *arena = (Arena*) freeLists[thingKind];
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsgc.h:303:23: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getTypedFreeList' requested here
    Arena *arena = getTypedFreeList(thingKind);
                      ^
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1189:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:312:13: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    arena = (Arena *)getOtherArena();
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1197:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:292:23: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *arena = (Arena*) freeLists[thingKind];
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./jsgc.h:303:23: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getTypedFreeList' requested here
    Arena *arena = getTypedFreeList(thingKind);
                      ^
jsgc.cpp:328:44: note: in instantiation of function template specialization 'js::gc::EmptyArenaLists::getNext' requested here
    Arena *arena = info.emptyArenaLists.getNext(comp, thingKind);
                                           ^
jsgc.cpp:486:19: note: in instantiation of function template specialization 'js::gc::Chunk::allocateArena' requested here
    return chunk->allocateArena(cx->compartment, thingKind);
                  ^
jsgc.cpp:1160:13: note: in instantiation of function template specialization 'AllocateArena' requested here
        a = AllocateArena(cx, thingKind);
            ^
jsgc.cpp:1197:16: note: in instantiation of function template specialization 'RefillTypedFreeList' requested here
        return RefillTypedFreeList(cx, thingKind);
               ^
In file included from jsiter.cpp:53:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from jsiter.cpp:53:
In file included from ./jsbuiltins.h:45:
In file included from ./nanojit/nanojit.h:379:
./nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
jsgc.cpp:1896:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *a = (Arena *) *ap;
                  ^~~~~~~~~~~~~~~~
jsgc.cpp:2006:5: note: in instantiation of function template specialization 'FinalizeArenaList' requested here
    FinalizeArenaList(this, cx, FINALIZE_OBJECT2);
    ^
jsgc.cpp:1995:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
        if (!(a = (Arena *) *ap))
                  ^~~~~~~~~~~~~~~~
jsgc.cpp:1896:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *a = (Arena *) *ap;
                  ^~~~~~~~~~~~~~~~
jsgc.cpp:2007:5: note: in instantiation of function template specialization 'FinalizeArenaList' requested here
    FinalizeArenaList(this, cx, FINALIZE_OBJECT4);
    ^
jsgc.cpp:1995:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
        if (!(a = (Arena *) *ap))
                  ^~~~~~~~~~~~~~~~
jsgc.cpp:1896:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *a = (Arena *) *ap;
                  ^~~~~~~~~~~~~~~~
jsgc.cpp:2008:5: note: in instantiation of function template specialization 'FinalizeArenaList' requested here
    FinalizeArenaList(this, cx, FINALIZE_OBJECT8);
    ^
jsgc.cpp:1995:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
        if (!(a = (Arena *) *ap))
                  ^~~~~~~~~~~~~~~~
jsgc.cpp:1896:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *a = (Arena *) *ap;
                  ^~~~~~~~~~~~~~~~
jsgc.cpp:2009:5: note: in instantiation of function template specialization 'FinalizeArenaList' requested here
    FinalizeArenaList(this, cx, FINALIZE_OBJECT12);
    ^
jsgc.cpp:1995:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
        if (!(a = (Arena *) *ap))
                  ^~~~~~~~~~~~~~~~
jsgc.cpp:1896:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *a = (Arena *) *ap;
                  ^~~~~~~~~~~~~~~~
jsgc.cpp:2010:5: note: in instantiation of function template specialization 'FinalizeArenaList' requested here
    FinalizeArenaList(this, cx, FINALIZE_OBJECT16);
    ^
jsgc.cpp:1995:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
        if (!(a = (Arena *) *ap))
                  ^~~~~~~~~~~~~~~~
jsgc.cpp:1896:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
    Arena *a = (Arena *) *ap;
                  ^~~~~~~~~~~~~~~~
jsgc.cpp:2011:5: note: in instantiation of function template specialization 'FinalizeArenaList' requested here
    FinalizeArenaList(this, cx, FINALIZE_FUNCTION);
    ^
jsgc.cpp:1995:19: warning: cast from 'Arena *' to 'Arena *' increases required alignment from 4 to 8 [-Wcast-align]
        if (!(a = (Arena *) *ap))
                  ^~~~~~~~~~~~~~~~
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_assert8' [-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
                                        ^
: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:738:9: warning: unused typedef 'js_static_assert5' [-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
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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_assert6' [-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
                                        ^
:349:1: note: expanded from here
js_static_assert6
^
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_assert7' [-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
                                        ^
:351:1: note: expanded from here
js_static_assert7
^
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_assert4' [-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
                                        ^
:345:1: note: expanded from here
js_static_assert4
^
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_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
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_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_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
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_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert48' [-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
                                        ^
:60:1: note: expanded from here
js_static_assert48
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_assert47' [-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
                                        ^
:58:1: note: expanded from here
js_static_assert47
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-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
                                        ^
:82:1: note: expanded from here
js_static_assert59
^
In file included from jsgc.cpp:63:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
In file included from jsgc.cpp:77:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert63' [-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
                                        ^
:180:1: note: expanded from here
js_static_assert63
^
In file included from jsgc.cpp:77:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert64' [-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
                                        ^
:182:1: note: expanded from here
js_static_assert64
^
In file included from jsgc.cpp:77:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:184:1: note: expanded from here
js_static_assert65
^
jsgc.cpp:610:5: warning: unused typedef 'js_static_assert81' [-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
                                        ^
:129:1: note: expanded from here
js_static_assert81
^
jsgc.cpp:1893:5: warning: unused typedef 'js_static_assert82' [-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
                                        ^
:131:1: note: expanded from here
js_static_assert82
^
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 jsgc.cpp:63:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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);
                   ^
             (                                            )
In file included from jsiter.cpp:54:
./jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
./jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-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 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);
                   ^
             (                                            )
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 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 4 [-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 4 [-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))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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);
                   ^
             (                                            )
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:53:
In file included from ./jsarray.h:47:
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394::56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
:394:34:  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
 ./jsgc.h:926:5: note: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
  : 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 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),
                                 ^
In file included from jsiter.cpp./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here: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:        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
 warning: field 'storage' is uninitialized when used here [-Wuninitialized]
        : AutoVectorRooter(cx, VALVECTOR)
          ^  : 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),
                                 ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
53:
In file included from ./jsarray.h:47:
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
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 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 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 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 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 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 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 jsiter.cpp:80:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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 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 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 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 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;
             ^
In file included from jsiter.cpp:54:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
24 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),
                                 ^
./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:85:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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:738:9: warning: unused typedef 'js_static_assert5' [-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
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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_assert6' [-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
                                        ^
: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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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:737:9: warning: unused typedef 'js_static_assert4' [-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
                                        ^
:345:1: note: expanded from here
js_static_assert4
^
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_assert8' [-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
                                        ^
: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:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
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_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:568:9: warning: unused typedef 'js_static_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
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_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
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_assert48' [-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
                                        ^
:60: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_assert47' [-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
                                        ^
:58: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:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
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_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
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_assert59' [-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
                                        ^
:82: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:779:9: warning: unused typedef 'js_static_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
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_assert63' [-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
                                        ^
:180:1: note: expanded from here
js_static_assert63
^
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_assert64' [-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
                                        ^
:182:1: note: expanded from here
js_static_assert64
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:71:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:184:1: note: expanded from here
js_static_assert65
^
In file included from jsinvoke.cpp:42:
./jsinterp.cpp:993:5: warning: unused typedef 'js_static_assert66' [-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
                                        ^
:108:1: note: expanded from here
js_static_assert66
^
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;
             ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
47 warnings generated.
46 warnings generated.
49 warnings generated.
71 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:85:
In file included from ./jsobjinlines.h:65:
./jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
./jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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:740:9: warning: unused typedef 'js_static_assert7' [-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
                                        ^
: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:
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_assert8' [-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
                                        ^
: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:738:9: warning: unused typedef 'js_static_assert5' [-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
                                        ^
:347:1: note: expanded from here
js_static_assert5
^
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_assert6' [-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
                                        ^
: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:737:9: warning: unused typedef 'js_static_assert4' [-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
                                        ^
:345:1: note: expanded from here
js_static_assert4
^
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_assert37' [-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
                                        ^
:411:1: note: expanded from here
js_static_assert37
^
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_assert41' [-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
                                        ^
:419:1: note: expanded from here
js_static_assert41
^
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_assert42' [-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
                                        ^
:421:1: note: expanded from here
js_static_assert42
^
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_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_assert45' [-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
                                        ^
:54:1: note: expanded from here
js_static_assert45
^
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_assert46' [-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
                                        ^
:56:1: note: expanded from here
js_static_assert46
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_assert48' [-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
                                        ^
:60: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_assert47' [-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
                                        ^
:58:1: note: expanded from here
js_static_assert47
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-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
                                        ^
:76:1: note: expanded from here
js_static_assert56
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-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
                                        ^
:78:1: note: expanded from here
js_static_assert57
^
In file included from jsinterp.cpp:56:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-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
                                        ^
:82: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_assert60' [-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
                                        ^
:84:1: note: expanded from here
js_static_assert60
^
In file included from jsinterp.cpp:71:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_assert63' [-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
                                        ^
:180:1: note: expanded from here
js_static_assert63
^
In file included from jsinterp.cpp:71:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert64' [-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
                                        ^
:182:1: note: expanded from here
js_static_assert64
^
In file included from jsinterp.cpp:71:
./jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-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
                                        ^
:184:1: note: expanded from here
js_static_assert65
^
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;
             ^
In file included from jsinterp.cpp:56:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
48 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

Links

Depends On

Depend Of

Categories

CVEs

  • Loading CVE information...

LLM Analysis