MidnightBSD Magus

lang/spidermonkey185

Standalone JavaScript (1.8.5) interpreter from Mozilla

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

License Permissions:

Events

Machine Type Time Message
m3032b info 2023-03-12 13:01:45.332851 Test Started
m3032b fail 2023-03-12 13:02:16.91755 make build returned non-zero: 1
m3032b fail 2023-03-12 13:02:16.976192 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
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 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
jsarray.cpp
c++ -o jsarray.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsarray.pp jsarray.cpp
jsatom.cpp
c++ -o jsatom.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsatom.pp jsatom.cpp
jsbool.cpp
c++ -o jsbool.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsbool.pp jsbool.cpp
In file included from 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 jsarray.cpp:84:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsarena.cpp:49:
In file included from ./jsbit.h:44:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsatom.cpp:47:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsbool.cpp:45:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsapi.cpp:52:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
1 warning generated.
jsclone.cpp
c++ -o jsclone.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsclone.pp jsclone.cpp
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:42:
In file included from ./jsapi.h:49:
In file included from ./jspubtd.h:47:
In file included from ./jsval.h:48:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from 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 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: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))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 jsbool.cpp:49:
./jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsatom.cpp:53:
./jscntxt.h: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 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 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 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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./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 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 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 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 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); \
              ^~~~~~~~~~~~~~~
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 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); \
              ^~~~~~~~~~~~~~~
./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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
./jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsbool.cpp:58:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
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 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 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),
                                 ^
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 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()
    ^
./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 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 jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from 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() {}
    ^
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);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
./jsgc.h:926:5: note: jsbool.cppin instantiation of member function 'js::Vector::Vector' requested here:    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    GCHelperThread()
    ^
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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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]
In file included from 47    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));:
jsanalyze.cpp:40:

           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~In file included from 
In file included from ./jsanalyze.h:45:
./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 ./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)
          ^
./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:
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 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 jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_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]
In file included from         JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
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        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1:     explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
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'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsanalyze.cpp:40:
In file included from ./jsanalyze.h:45:
In file included from ./jscntxt.h: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: 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 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'
In file included from jsbool.cpp:47:
In file included from     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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
^
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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jsatom.cpp:954:12: warning: variable 'count' set but not used [-Wunused-but-set-variable]
    uint32 count;
           ^
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 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 jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from 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 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),
                                 ^
./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 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 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
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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 jsclone.cpp:44:
In file included from ./jsregexpinlines.h:45:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
In file included from jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_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 jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_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 jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_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 jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:740:9: warning: unused typedef 'js_static_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 jsatom.cpp:51:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_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 jsatom.cpp:51:
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 jsatom.cpp:51:
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 jsatom.cpp:51:
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 jsatom.cpp:51:
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 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]
    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 jsatom.cpp:65:
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 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: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 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 {
        ^
./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsbool.cpp:47:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsbool.cpp: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 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 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 ./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 jsbool.cpp:49:
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 jsbool.cpp:49:
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 jsbool.cpp:49:
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 jsbool.cpp:49:
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 jsbool.cpp:49:
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 jsbool.cpp:49:
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 jsbool.cpp:58:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_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 jsbool.cpp:58:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_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 jsbool.cpp:58:
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 jsbool.cpp:47:
In file included from ./jsatom.h:52:
./jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jsbool.cpp:49:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsclone.cpp: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: 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),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:233:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    PatternAlternative(PatternDisjunction* disjunction)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:282:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    PatternDisjunction(PatternAlternative* parent = 0)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:321:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    RegexPattern(bool ignoreCase, bool multiline)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:321:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    RegexPattern(bool ignoreCase, bool multiline)
    ^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h: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 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: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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:740:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:571:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_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'
In file included from     #define JS_STATIC_ASSERT_GLUE1(x,y) x##yjsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from 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 jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsarray.cpp: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 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'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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 jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:738:9: warning: unused typedef 'js_static_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 jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:739:9: warning: unused typedef 'js_static_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 jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:740:9: warning: unused typedef 'js_static_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 jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:741:9: warning: unused typedef 'js_static_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 jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:459:9: warning: unused typedef 'js_static_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 jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:570:9: warning: unused typedef 'js_static_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 jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:568:9: warning: unused typedef 'js_static_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 jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:571:9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:423:1: note: expanded from here
js_static_assert43
^
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_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 jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_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 jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_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 jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_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 jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_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 jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_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 jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_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 jsarray.cpp:90:
In file included from ./jstracer.h:49:
In file included from ./dist/include/jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_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 jsarray.cpp:101:
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
                                        ^
:137:1: note: expanded from here
js_static_assert63
^
In file included from jsarray.cpp:101:
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
                                        ^
:139:1: note: expanded from here
js_static_assert64
^
In file included from jsarray.cpp:101:
./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
                                        ^
:141:1: note: expanded from here
js_static_assert65
^
jsarray.cpp:230:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(jsuint) == sizeof(uint32_t));
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:143:1: note: expanded from here
js_static_assert66
^
jsarray.cpp:256:5: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
    JS_STATIC_ASSERT((jsuint)-1 == 4294967295U);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:145:1: note: expanded from here
js_static_assert67
^
In file included from jsarray.cpp:86:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from jsarray.cpp:90:
In file included from ./jstracer.h:49:
./dist/include/jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
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
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: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)
    ^
41 warnings generated.

                                        ^
:421:1: note: expanded from here
js_static_assert42
^
In file included from jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:568:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:84:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:62:
./jsfun.h:228:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:63:
./jsgc.h:514:5: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:63:
./jsgc.h:550:5: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:66:
./jsinterp.h:779:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
In file included from ./jsclone.h:43:
In file included from ./jscntxt.h:66:
./jsinterp.h:778:9: warning: unused typedef 'js_static_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 jsclone.cpp:39:
./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
                                        ^
:92:1: note: expanded from here
js_static_assert64
^
In file included from jsclone.cpp:39:
./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
                                        ^
:90:1: note: expanded from here
js_static_assert63
^
In file included from jsclone.cpp:39:
./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
                                        ^
:94:1: note: expanded from here
js_static_assert65
^
In file included from jsclone.cpp:44:
In file included from ./jsregexpinlines.h:45:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:202:5: warning: unused typedef 'js_static_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
                                        ^
:186:1: note: expanded from here
js_static_assert66
^
In file included from jsclone.cpp:44:
In file included from ./jsregexpinlines.h:45:
In file included from ./jsobjinlines.h:53:
In file included from ./jsscope.h:59:
./jsstrinlines.h:280:5: warning: unused typedef 'js_static_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
                                        ^
:188:1: note: expanded from here
js_static_assert67
^
In file included from jsclone.cpp:44:
In file included from ./jsregexpinlines.h:45:
In file included from ./jsobjinlines.h:53:
./jsscope.h:431:9: warning: unused typedef 'js_static_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
                                        ^
:190:1: note: expanded from here
js_static_assert68
^
jsclone.cpp:203:5: warning: unused typedef 'js_static_assert71' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(uint64_t) % sizeof(T) == 0);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:205:1: note: expanded from here
js_static_assert71
^
jsclone.cpp:412:5: warning: unused typedef 'js_static_assert77' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(TypedArray::TYPE_INT32 == 4);
    ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:217:1: note: expanded from here
js_static_assert77
^
jsclone.cpp:411:5: 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;
                         ^
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 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)
    ^
41 warnings generated.
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) {}
                                   ^
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 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 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 jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsapi.cpp: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 jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:321:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    RegexPattern(bool ignoreCase, bool multiline)
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./yarr/yarr/RegexPattern.h:321:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    RegexPattern(bool ignoreCase, bool multiline)
    ^
In file included from jsapi.cpp:57:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
jsapi.cpp:614:12: note: in instantiation of member function 'js::Vector::Vector' requested here
JSRuntime::JSRuntime()
           ^
In file included from 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);
        ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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 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);
               ^~~~~~~~~~~~~~~~~~~
./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 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 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 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: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);
               ^~~~~~~~~~~~~~~~~~~
./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 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: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 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 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 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 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);
                   ^
             (                                            )
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: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 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);
                   ^
             (                                            )
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 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 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),
                                 ^
./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)
          ^
64 warnings generated.
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)
          ^
jsdbgapi.cpp
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:
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 ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jscompartment.cpp:41:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jscompartment.cpp: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 jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from 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 jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from 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),
                                 ^
./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: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),
                                 ^
./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),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from 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: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 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 ^
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 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 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;
                         ^
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 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 jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
jscntxt.cpp:1986:12: note: in instantiation of member function 'js::Vector::Vector' requested here
JSContext::JSContext(JSRuntime *rt)
           ^
In file included from jscntxt.cpp:61:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:737:9: warning: unused typedef 'js_static_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 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);
                   ^
             (                                            )
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)
                             ^
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) {
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsdbgapi.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsdbgapi.cpp: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;
                         ^
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;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
45 warnings generated.
jsdtoa.cpp
c++ -o jsdtoa.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsdtoa.pp jsdtoa.cpp
In file included from jsdtoa.cpp:47:
In file included from ./jsapi.h:49:
In file included from ./jspubtd.h:47:
In file included from ./jsval.h:48:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
8 warnings generated.
41 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
jsexn.cpp
c++ -o jsexn.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsexn.pp jsexn.cpp
In file included from jsexn.cpp:48:
In file included from ./jsbit.h:44:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsemit.cpp: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 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 {
        ^
58 warnings generated.
46 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
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 jsfriendapi.cpp:40:
In file included from ./jscntxt.h:55:
In file included from ./jsprvtd.h:57:
In file included from ./jspubtd.h:47:
In file included from ./jsval.h:48:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsdtoa.cpp: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 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 {
        ^
./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: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: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 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);
               ^~~~~~~~~~~~~~~~~~~
./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: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 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: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./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 jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsemit.cpp: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 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 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 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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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);
               ^~~~~~~~~~~~~~~~~~~
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;
        ^~~~~~~~~
./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))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./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 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 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 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 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)
                                 ^
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)
          ^
./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 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);
                   ^
             (                                            )
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),
                                 ^
./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;
                         ^
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 jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsexn.cpp:67:
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 jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_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 jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_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 jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:739:9: warning: unused typedef 'js_static_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 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]
        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 jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:741:9: warning: unused typedef 'js_static_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 jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:459:9: warning: unused typedef 'js_static_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 jsexn.cpp:52:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
./jsstr.h:570:9: warning: unused typedef 'js_static_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 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:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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;
                         ^
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 {
        ^
jsemit.cpp:4100:10: warning: variable 'forInLet' set but not used [-Wunused-but-set-variable]
    bool forInLet, popScope;
         ^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_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 jsfriendapi.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:738:9: warning: unused typedef 'js_static_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 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'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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 jsfriendapi.cpp:40:
In file included from ./jscntxt.h:62:
In file included from ./jsfun.h:49:
./jsscript.h:83:9: warning: unused typedef 'js_static_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 jsfriendapi.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 jsfriendapi.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 jsfriendapi.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 jsfriendapi.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 jsfriendapi.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 jsfriendapi.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
^
26 warnings generated.
jsemit.cpp:5675:19: warning: variable 'blockObj' set but not used [-Wunused-but-set-variable]
        JSObject *blockObj;
                  ^
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: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); \
              ^~~~~~~~~~~~~~~
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 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);
               ^~~~~~~~~~~~~~~~~~~
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)
    ^
./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: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:
In file included from ./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'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:345:1: note: expanded from here
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: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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 jsgc.cpp:56:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsgc.cpp:62:
In file included from ./jsatom.h:52:
./jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from jsfun.cpp:91:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
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);
               ^~~~~~~~~~~~~~~~~~~
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)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./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))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
61 warnings generated.
In file included from jsgc.cpp:63:
./jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsfun.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from 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 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)
                       ^
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);
                      ^
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)
                                       ^
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:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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]
        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;
                         ^
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
52 warnings generated.
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: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 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)
    ^
45 warnings 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
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)
    ^
1 warning generated.
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 jshash.cpp:47:
In file included from ./jsbit.h:44:
./jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
./jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from jsgc.cpp:91:
./jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
./jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
./jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
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 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]
1 warning generated.
  : 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 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 {
        ^
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 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);
               ^
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: In file included from 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));
        ^
jsinvoke.cpp
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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) ==
        ^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
jsinterp.cpp:50:
./jsutil.h:304
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^        *(size_t *)memory = n;
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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: In file included from jsgcstats.cppexpanded from here
js_static_assert64
^

:40:
./jscntxt.h:        ^
./jsutil.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
In file included from jsgc.cpp:77:
./jsscope.h:431302:5: note: previous statement is here
    if (!memory)        return (Value *)(this + 1);
:9: warning:     ^

               ^~~~~~~~~~~~~~~~~~~
./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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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 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 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)
    ^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsgcstats.cpp:40:
In file included from ./jscntxt.h:59:
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:64:
./jsvalue.h:737:9: warning: unused typedef 'js_static_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 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.
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 {
        ^
jsiter.cpp
c++ -o jsiter.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I. -I./assembler -I./yarr  -fPIC -I/usr/local/include  -fno-rtti -fno-exceptions -Wall -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-invalid-offsetof -Wno-variadic-macros -Werror=return-type -pedantic -Wno-long-long -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1  -I/usr/local/include  -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsiter.pp jsiter.cpp
In file included from jsinterp.cpp: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: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 {
        ^
./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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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: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 jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:56:
./jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:70:
In file included from ./jsemit.h:49:
./jsparse.h:654:16: warning: cast from 'char *' to 'JSParseNode *' increases required alignment from 1 to 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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: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); \
              ^~~~~~~~~~~~~~~
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: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 {
        ^
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: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); \
              ^~~~~~~~~~~~~~~
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: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); \
              ^~~~~~~~~~~~~~~
49 warnings generated.
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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jslock.cpp
c++ -o jslock.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/jslock.pp jslock.cpp
In file included from jslock.cpp:47:
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 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 jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsiter.cpp: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 jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
jsiter.cpp:566:23: note: in instantiation of member function 'js::Vector::Vector' requested here
    Vector shapes(cx);
                      ^
In file included from jsiter.cpp:50:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
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 jslock.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 jslock.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 jslock.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 jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
47 warnings generated.
In file included from jslock.cpp:55:
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 jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from ./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./assembler/jit/ExecutableAllocator.h:417:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp: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)
                                       ^
jslock.cpp:585:14: warning: variable 'stat' set but not used [-Wunused-but-set-variable]
    PRStatus stat;
             ^
jslock.cpp:615:14: warning: variable 'stat' set but not used [-Wunused-but-set-variable]
    PRStatus stat;
             ^
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]
In file included from         JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
jslock.cpp:52:
In file included from ./jscntxt.h:59:
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56        typedef 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 ./jsobj.h:65:
./jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
./jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:351:1: note: expanded from here
js_static_assert7
./jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
^
In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:53:
In file included from ./jsarray.h:47:
In file included from     ^
./jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h: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: In file included from jslock.cppnote: :52:
In file included from ./jscntxt.h:59:
expanded from here
js_static_assert46
^
In file included from ./jsatom.h:52:
In file included from ./jsstr.h:56:
In file included from ./jsobj.h:65:
./jsvector.h:394In file included from jsinvoke.cpp:42:
In file included from ./jsinterp.cpp:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
:56:
In file included from ./jscntxt.h:62:
./jsfun.h:229:9  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./jscntxt.h:3236:34: note: : warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
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
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
        : AutoVectorRooter(cx, VALVECTOR)
          ^
./jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
./jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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.hIn file included from jslock.cpp:52:
In file included from :117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
./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:76: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
:1: note: expanded from here
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
js_static_assert56
^                                 ^

./jscntxt.h:In file included from jsinvoke.cpp:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
42:
In file included from ./jsinterp.cpp:56:
In file included from ./jscntxt.h        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./jscntxt.h:63:
:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
./jsgc.h:550        : AutoVectorRooter(cx, IDVECTOR)
          ^
: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'
In file included from jslock.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]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
:82:1:./jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
 note: expanded from here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
js_static_assert59
^
./jscntxt.h:In file included from jsinvoke.cpp:42:
In file included from 3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
./jsinterp.cpp:56:
In file included from ./jscntxt.h:66        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^:
./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 jslock.cpp:In file included from jsinvoke.cpp:42:
In file included from 52:
In file included from ./jsinterp.cpp:71./jscntxt.h:59:
./jsscope.h::
In file included from ./jsatom.h431:9:52:
: warning: In file included from ./jsstr.h:unused typedef 'js_static_assert65' [-Wunused-local-typedef]
56:
In file included from ./jsobj.h:65:
./jsvector.h:394:34:        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^ warning: field 'storage' is uninitialized when used here [-Wuninitialized]
./jsutil.h
:120:21: note: expanded from macro 'JS_STATIC_ASSERT'  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^

./jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^

./jsutil.h:118:40:      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^ note: expanded from macro 'JS_STATIC_ASSERT_GLUE'

    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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;
                         ^
In file included from jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.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 jslock.cpp:55:
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 jslock.cpp:55:
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 jslock.cpp:55:
./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 jslock.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 jslock.cpp:52:
./jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
38 warnings generated.
46 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