MidnightBSD Magus

games/oolite

Trade and combat space simulator, clone of Elite

Flavor Version Run OSVersion Arch License Restricted Status
1.88_2 525 3.0 i386 CC-BY-NC-SA-3.0 gpl2 zlib 0 fail

License Permissions:

Events

Machine Type Time Message
m3032b info 2023-04-02 15:22:48.244328 Test Started
m3032b fail 2023-04-02 15:23:54.187824 make build returned non-zero: 1
m3032b fail 2023-04-02 15:23:54.277163 Test complete.

Log

===>  Building for oolite-1.88_2
gmake[1]: Entering directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88'
gmake[1]: git: No such file or directory
gmake[1]: git: No such file or directory
gmake -f libjs.make debug=no
gmake[2]: Entering directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88'

Configuring Javascript library...

mkdir -p deps/mozilla/js/src/build-release
cd deps/mozilla/js/src/build-release && ../configure --disable-shared-js --enable-threadsafe --with-system-nspr --disable-tests --enable-trace-jscalls
creating cache ./config.cache
checking host system type... i386-unknown-midnightbsd3.0.0
checking target system type... i386-unknown-midnightbsd3.0.0
checking build system type... i386-unknown-midnightbsd3.0.0
checking for gawk... no
checking for mawk... no
checking for nawk... nawk
checking for perl5... no
checking for perl... /usr/bin/perl
checking for gcc... cc
checking whether the C compiler (cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fuse-ld=) works... yes
checking whether the C compiler (cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -fuse-ld=) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether cc accepts -g... yes
checking for c++... c++
checking whether the C++ compiler (c++ -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -std=gnu++98 -fuse-ld=) works... yes
checking whether the C++ compiler (c++ -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -std=gnu++98 -fuse-ld=) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether c++ accepts -g... yes
checking for ranlib... ranlib
checking for as... /usr/bin/as
checking for ar... ar
checking for ld... ld
checking for strip... strip
checking for windres... no
checking whether cc understands -c and -o together... yes
checking how to run the C preprocessor... cpp
checking how to run the C++ preprocessor... c++ -E
checking for sb-conf... no
checking for ve... no
checking for a BSD compatible install... /usr/bin/install -c
checking whether ln -s works... yes
checking for minimum required perl version >= 5.006... 5.036000
checking for full perl installation... yes
checking for python2.7... (cached) /usr/local/bin/python3.9
checking for doxygen... :
checking for autoconf... :
checking for unzip... /usr/bin/unzip
checking for zip... /usr/local/bin/zip
checking for makedepend... no
checking for xargs... /usr/bin/xargs
checking for gmake... /usr/local/bin/gmake
checking for X... no
checking whether the compiler supports -Wno-invalid-offsetof... yes
checking whether the compiler supports -Wno-variadic-macros... yes
checking whether the compiler supports -Werror=return-type... yes
checking whether ld has archive extraction flags... yes
checking that static assertion macros used in autoconf tests work... yes
checking for 64-bit OS... no
checking for Python version >= 2.5... yes
checking for ANSI C header files... yes
checking for working const... yes
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for __stdcall... yes
checking for ssize_t... yes
checking for st_blksize in struct stat... yes
checking for siginfo_t... yes
checking for stdint.h... yes
checking for the size of void*... 4
checking for the alignment of void*... 4
checking for the size of double... 8
checking for int16_t... yes
checking for int32_t... yes
checking for int64_t... yes
checking for int64... no
checking for uint... yes
checking for uint_t... no
checking for uint16_t... yes
checking for uname.domainname... no
checking for uname.__domainname... no
checking for visibility(hidden) attribute... yes
checking for visibility(default) attribute... yes
checking for visibility pragma support... yes
checking For gcc visibility bug with class-level attributes (GCC bug 26905)... no
checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)... no
test: MidnightBSD: unexpected operator
checking for __force_align_arg_pointer__ attribute... yes
checking for dirent.h that defines DIR... yes
checking for opendir in -ldir... no
checking for sys/byteorder.h... no
checking for compat.h... no
checking for getopt.h... yes
checking for sys/bitypes.h... no
checking for memory.h... yes
checking for unistd.h... yes
checking for gnu/libc-version.h... no
checking for nl_types.h... yes
checking for malloc.h... yes
checking for X11/XKBlib.h... no
checking for io.h... no
checking for sys/statvfs.h... yes
checking for sys/statfs.h... no
checking for sys/vfs.h... no
checking for sys/mount.h... yes
checking for sys/quota.h... no
checking for linux/quota.h... no
checking for mmintrin.h... yes
checking for new... yes
checking for sys/cdefs.h... yes
checking for linux/perf_event.h... no
checking for gethostbyname_r in -lc_r... no
checking for library containing dlopen... none required
checking for dlfcn.h... yes
checking for dladdr... yes
checking for socket in -lsocket... no
checking for ARM SIMD support in compiler... no
checking for ARM NEON support in compiler... no
checking for pthread_create in -lpthreads... no
checking for pthread_create in -lpthread... yes
checking whether cc accepts -pthread... yes
checking whether mmap() sees write()s... yes
checking whether cc needs -traditional... no
checking for 8-bit clean memcmp... yes
checking for fchmod... yes
checking for flockfile... yes
checking for getc_unlocked... yes
checking for _getc_nolock... no
checking for getpagesize... yes
checking for lchown... yes
checking for localtime_r... yes
checking for lstat64... no
checking for memmove... yes
checking for random... yes
checking for rint... no
checking for sbrk... yes
checking for snprintf... yes
checking for stat64... no
checking for statvfs... yes
checking for statvfs64... no
checking for strerror... yes
checking for strtok_r... yes
checking for truncate64... no
checking for clock_gettime(CLOCK_MONOTONIC) and -lrt... yes
checking for wcrtomb... yes
checking for mbrtowc... yes
checking for res_ninit()... no
checking for gnu_get_libc_version()... no
checking for iconv in -lc... yes
checking for iconv()... yes
checking for iconv() with const input... no
checking for an implementation of va_copy()... yes
checking for an implementation of __va_copy()... yes
checking whether va_lists can be copied by value... yes
checking for gcc 3.0 ABI... yes
checking for C++ "explicit" keyword... yes
checking for C++ "typename" keyword... yes
checking for modern C++ template specialization syntax support... yes
checking whether partial template specialization works... yes
checking whether operators must be re-defined for templates derived from templates... no
checking whether we need to cast a derived template to pass as its base class... no
checking whether the compiler can resolve const ambiguities for templates... yes
checking whether the C++ "using" keyword can change access... yes
checking whether the C++ "using" keyword resolves ambiguity... yes
checking for "std::" namespace... yes
checking whether standard template operator!=() is ambiguous... unambiguous
checking for C++ reinterpret_cast... yes
checking for C++ dynamic_cast to void*... yes
checking whether C++ requires implementation of unused virtual methods... no
checking for trouble comparing to zero near std::operator!=()... no
checking for __thread keyword for TLS variables... yes
checking for malloc.h... (cached) yes
checking for strndup... yes
checking for posix_memalign... yes
checking for memalign... yes
checking for valloc... yes
checking for __attribute__((always_inline))... no
checking for __attribute__((malloc))... yes
checking for __attribute__((warn_unused_result))... yes
checking for __attribute__((noreturn))... yes
checking for LC_MESSAGES... yes
checking for localeconv... yes
checking for nspr-config... /usr/local/bin/nspr-config
checking for NSPR - version >= 4.7.0... yes
checking for valid optimization flags... yes
checking for __cxa_demangle... yes
checking for unwind.h... no
checking for gcc -pipe support... no
checking whether C compiler supports -fprofile-generate... yes
checking whether C++ compiler has -pedantic long long bug... no
checking for correct temporary object destruction order... yes
checking for correct overload resolution with const and templates... no
checking for tm_zone tm_gmtoff in struct tm... yes
checking for posix_fallocate... yes
checking for setlocale... yes
checking for localeconv... (cached) yes
creating js-confdefs.h
==== js-confdefs.h =================================
/* List of defines generated by configure. Included with preprocessor flag,
 * -include, to avoid long list of -D defines on the compile command-line.
 * Do not edit.
 */

#ifndef _JS_CONFDEFS_H_
#define _JS_CONFDEFS_H_

#define AVMPLUS_IA32 1
#define AVMPLUS_UNIX 1
#define CPP_THROW_NEW throw()
#define D_INO d_ino
#define EDITLINE 1
#define FEATURE_NANOJIT 1
#define HAVE_CLOCK_MONOTONIC 1
#define HAVE_CPP_ACCESS_CHANGING_USING 1
#define HAVE_CPP_AMBIGUITY_RESOLVING_USING 1
#define HAVE_CPP_DYNAMIC_CAST_TO_VOID_PTR 1
#define HAVE_CPP_EXPLICIT 1
#define HAVE_CPP_MODERN_SPECIALIZE_TEMPLATE_SYNTAX 1
#define HAVE_CPP_NAMESPACE_STD 1
#define HAVE_CPP_NEW_CASTS 1
#define HAVE_CPP_PARTIAL_SPECIALIZATION 1
#define HAVE_CPP_TYPENAME 1
#define HAVE_CPP_UNAMBIGUOUS_STD_NOTEQUAL 1
#define HAVE_DIRENT_H 1
#define HAVE_DLADDR 1
#define HAVE_DLOPEN 1
#define HAVE_FCHMOD 1
#define HAVE_FLOCKFILE 1
#define HAVE_GETC_UNLOCKED 1
#define HAVE_GETOPT_H 1
#define HAVE_GETPAGESIZE 1
#define HAVE_I18N_LC_MESSAGES 1
#define HAVE_ICONV 1
#define HAVE_INT16_T 1
#define HAVE_INT32_T 1
#define HAVE_INT64_T 1
#define HAVE_LCHOWN 1
#define HAVE_LOCALECONV 1
#define HAVE_LOCALECONV 1
#define HAVE_LOCALTIME_R 1
#define HAVE_MALLOC_H 1
#define HAVE_MBRTOWC 1
#define HAVE_MEMALIGN 1
#define HAVE_MEMMOVE 1
#define HAVE_MEMORY_H 1
#define HAVE_MMINTRIN_H 1
#define HAVE_NL_TYPES_H 1
#define HAVE_POSIX_FALLOCATE 1
#define HAVE_POSIX_MEMALIGN 1
#define HAVE_RANDOM 1
#define HAVE_SBRK 1
#define HAVE_SETLOCALE 1
#define HAVE_SIGINFO_T 1
#define HAVE_SNPRINTF 1
#define HAVE_SSIZE_T 1
#define HAVE_STATVFS 1
#define HAVE_STDCALL 1
#define HAVE_STRERROR 1
#define HAVE_STRNDUP 1
#define HAVE_STRTOK_R 1
#define HAVE_ST_BLKSIZE 1
#define HAVE_SYS_CDEFS_H 1
#define HAVE_SYS_MOUNT_H 1
#define HAVE_SYS_STATVFS_H 1
#define HAVE_THREAD_TLS_KEYWORD 1
#define HAVE_TM_ZONE_TM_GMTOFF 1
#define HAVE_UINT 1
#define HAVE_UINT16_T 1
#define HAVE_UNISTD_H 1
#define HAVE_VALLOC 1
#define HAVE_VA_COPY 1
#define HAVE_VISIBILITY_ATTRIBUTE 1
#define HAVE_VISIBILITY_HIDDEN_ATTRIBUTE 1
#define HAVE_WCRTOMB 1
#define HAVE___CXA_DEMANGLE 1
#define JS_ALIGN_OF_POINTER 4
#define JS_BITS_PER_WORD_LOG2 5
#define JS_BYTES_PER_DOUBLE 8
#define JS_BYTES_PER_WORD 4
#define JS_CPU_X86 1
#define JS_HAVE_STDINT_H 1
#define JS_METHODJIT 1
#define JS_MONOIC 1
#define JS_NUNBOX32 1
#define JS_POLYIC 1
#define JS_POLYIC_TYPED_ARRAY 1
#define JS_THREADSAFE 1
#define JS_TRACER 1
#define MALLOC_H 
#define MOZ_DLL_SUFFIX ".so"
#define MOZ_TRACE_JSCALLS 1
#define NEW_H 
#define NS_ALWAYS_INLINE 
#define NS_ATTR_MALLOC __attribute__((malloc))
#define NS_NORETURN __attribute__((noreturn))
#define NS_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#define STATIC_EXPORTABLE_JS_API 1
#define STDC_HEADERS 1
#define UNIX_ASYNC_DNS 1
#define VA_COPY va_copy
#define XP_UNIX 1
#define X_DISPLAY_MISSING 1
#define _REENTRANT 1
#define _THREAD_SAFE 1

#endif /* _JS_CONFDEFS_H_ */

Creating directory shell
Creating directory lirasm
Creating directory jsapi-tests
Creating directory tests
Creating directory config
Creating directory config/mkdepend
Creating directory editline
creating Makefile
creating shell/Makefile
creating lirasm/Makefile
creating jsapi-tests/Makefile
creating tests/Makefile
creating config/Makefile
creating config/mkdepend/Makefile
creating editline/Makefile
updating cache ./config.cache
creating ./config.status
creating config/autoconf.mk
creating js-config.h
invoking make to create js-config script
gmake[3]: Entering directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release'
rm -f js-config.tmp
sed < ../js-config.in > js-config.tmp \
-e 's|@prefix@|/usr/local|' \
-e 's|@exec_prefix@|/usr/local|' \
-e 's|@includedir@|/usr/local/include|' \
-e 's|@libdir@|/usr/local/lib|' \
-e 's|@MOZILLA_VERSION@||' \
-e 's|@LIBRARY_NAME@|mozjs|' \
-e 's|@NSPR_CFLAGS@|-I/usr/local/include/nspr|' \
-e 's|@JS_CONFIG_LIBS@|-L/usr/local/lib -lplds4 -lplc4 -lnspr4 -pthread -ldl  -lm |' \
-e 's|@MOZ_JS_LIBS@|-L/usr/local/lib -lmozjs|' \
&& mv js-config.tmp js-config && chmod +x js-config
gmake[3]: Leaving directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release'
touch deps/mozilla/js/src/build-release/config_stamp

Building Javascript library...

gmake -C deps/mozilla/js/src/build-release 
gmake[3]: Entering directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release'
gmake export
gmake[4]: Entering directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release'
gmake -C config/ nsinstall
gmake[5]: Entering directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/config'
nsinstall.c
cc -o host_nsinstall.o -c  -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../../config -I. -I../dist/include -I../dist/include/nsprpub  -I/usr/local/include/nspr   -I/usr/local/include/nspr ../../config/nsinstall.c
pathsub.c
cc -o host_pathsub.o -c  -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../../config -I. -I../dist/include -I../dist/include/nsprpub  -I/usr/local/include/nspr   -I/usr/local/include/nspr ../../config/pathsub.c
../../config/pathsub.c:131:27: warning: unused parameter 'dir' [-Wunused-parameter]
ino2name(ino_t ino, char *dir)
                          ^
1 warning generated.
cc -o nsinstall  -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 -fuse-ld= host_nsinstall.o host_pathsub.o  
gmake[5]: Leaving directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/config'
Creating /magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/.deps
gmake[5]: Entering directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/config'
rm -f nfspwd
cp ../../config/nfspwd.pl nfspwd
chmod +x nfspwd
/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/config/nsinstall -R nsinstall ../dist/bin
gmake[5]: Leaving directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/config'
gmake[5]: Entering directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/editline'
Creating /magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/editline/.deps
gmake[5]: Leaving directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/editline'
gmake[5]: Entering directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/shell'
Creating /magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/shell/.deps
gmake[5]: Leaving directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/shell'
c++  -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 -std=gnu++98 -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  -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 -std=gnu++98 -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  -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 -std=gnu++98 -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/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/jsautokw.h
/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/config/nsinstall -R -m 644 js-config.h jsautocfg.h /magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/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[4]: Leaving directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release'
gmake libs
gmake[4]: Entering directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release'
jsoplengen.cpp
c++ -o host_jsoplengen.o -c  -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 -std=gnu++98 -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/python3.9 ../imacro_asm.py ../imacros.jsasm /magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/imacros.c.out
c++ -o host_jsoplengen  -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 -std=gnu++98 -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/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release/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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsanalyze.pp ../jsanalyze.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsarena.pp ../jsarena.cpp
jsatom.cpp
jsarray.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsatom.pp ../jsatom.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsarray.pp ../jsarray.cpp
c++ -o jsapi.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I.. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I.. -I../assembler -I../yarr  -fPIC  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsapi.pp ../jsapi.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsbool.pp ../jsbool.cpp
In file included from ../jsarray.cpp:84:
../jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
In file included from ../jscntxt.h:55:
In file included from ../jsprvtd.h:57:
In file included from ../jspubtd.h:47:
In file included from ../jsval.h:48:
../jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from ../jsatom.cpp:47:
../jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from ../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 ../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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -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 ../jsarray.cpp:86:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../jsatom.cpp:51:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../jsbool.cpp:47:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../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 ../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]
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()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
../nanojit/Nativei386.h:219:15            *((int16_t*)_nIns) = int16_t(i); \: 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]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
            DECLARE_PLATFORM_ASSEMBLER():13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]

            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../nanojit/Nativei386.h            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
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 ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
../jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsbool.cpp:49:
../jscntxt.h: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 ../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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../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: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 ../jsarray.cpp:90:
In file included from ../jstracer.h:49:
../jscntxt.h:271:16:In file included from ../jsbool.cpp:49:
../jscntxt.h: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsclone.cpp:39:
In file included from ../jsclone.h:43:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
../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: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
                                        ^
:334: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'
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]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:336: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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:64:
../jsvalue.h:740:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:64:
../jsvalue.h:741:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:342: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
                                        ^
:400: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: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445In file included from ../jscntxt.h:59:
In file included from ../jsatom.h::6: note: expanded from macro 'COMMON_ATOMS_START'
52:
../jsstr.h:568:9: warning: unused typedef 'js_static_assert41' [-Wunused-local-typedef]
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        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
                                        ^
:408: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: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
                                        ^
:410: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: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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
In file included from ../jscntxt.h:62:
In file included from ../jsfun.h:49:
../jsscript.h: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
                                        ^
:52: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:
../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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
In file included from ../jscntxt.h:62:
../jsfun.h:228:9: warning: unused typedef 'js_static_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
                                        ^
:54: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: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
                                        ^
:72: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
                                        ^
:74: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: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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsanalyze.cpp:40:
In file included from ../jsanalyze.h:45:
In file included from ../jscntxt.h:66:
../jsinterp.h:779:9: warning: unused typedef 'js_static_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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsapi.cpp:61:
In file included from ../jsclone.h:43:
../jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsarray.cpp:90:
In file included from ../jstracer.h:49:
../jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsapi.cpp: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 ../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 ../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 ../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);
                   ^
             (                                            )
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsarray.cpp:102:
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: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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.cpp:384:13: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
    atoms = COMMON_ATOMS_START(state);
            ^~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.cpp:954:12: warning: variable 'count' set but not used [-Wunused-but-set-variable]
    uint32 count;
           ^
In file included from ../jsatom.cpp:51:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jsbool.cpp: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 ../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:
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 ../jsbool.cpp:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jsatom.cpp:51:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h: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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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)
                                       ^
In file included from ../jsbool.cpp:47:
In file included from ../jsatom.h../jsutil.h:117:41::52:
In file included from ../jsstr.h:56:
 note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
In file included from ../jsobj.h:65:
../jsvector.h:394    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:342:1:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
: 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]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
../jscntxt.h:3236:34: note:         ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
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        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'        : AutoVectorRooter(cx, VALVECTOR)
          ^

    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
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 In file included from ../jsatom.cpp:53:
In file included from ../jscntxt.h:62:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
../jsfun.h:49:
../jsscript.h:84:9: warning: unused typedef 'js_static_assert46' [-Wunused-local-typedef]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
../jsutil.h:120:                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
21: note: expanded from macro 'JS_STATIC_ASSERT'
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'

../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
        : AutoVectorRooter(cx, IDVECTOR)
          ^    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^

:52: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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
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'
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:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
warning: ../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
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:   : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:34: note: in instantiation of member function 'js::Vector::Vector' requested here
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:56        : AutoGCRooter(cx, tag), vector(cx)
                                 ^:1: note: expanded from here

../jscntxt.h:3326js_static_assert48
^
:11:In file included from ../jsatom.cpp:53:
In file included from ../jscntxt.h:63:
 note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
../jsgc.h:514:5: warning: unused typedef 'js_static_assert56' [-Wunused-local-typedef]
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
    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
                                        ^
:72: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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsatom.cpp:63:
../jsstrinlines.h:280:5: warning: unused typedef 'js_static_assert64' [-Wunused-local-typedef]
In file included from ../jsbool.cpp    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
:47:
In file included from ../jsatom.h:52:
In file included from         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsstr.h../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:56:
In file included from ../jsobj.h    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
:65:
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
../jsvector.h:394:34    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^: warning: 
field 'storage' is uninitialized when used here [-Wuninitialized]:178
:1: note: expanded from here
js_static_assert64
^
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
In file included from ../jsatom.cpp:65:
In file included from ../jsobjinlines.h:53:
../jsscope.h:431:../assembler/jit/ExecutableAllocator.h:2059: :5:warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
 note: in instantiation of member function 'js::Vector::Vector' requested here
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
    ExecutableAllocator() {}../jsutil.h:120
    ^
:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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_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 ../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:412:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from ../jsbool.cpp:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from ../jsbool.cpp:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../jsbool.cpp:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../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 ../jsarray.cpp:111:
../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:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from ../jsbool.cpp:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:64:
../jsvalue.h:737:9: warning: unused typedef 'js_static_assert4' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:334: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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsbool.cpp:47:
In file included from ../jsapi.cpp:95:
../jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:64:
../jsvalue.h:739           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
: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'
../jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
338:1: note: expanded from here
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400: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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
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
                                        ^
:72: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
                                        ^
:74: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
                                        ^
:80: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
                                        ^
:78: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
                                        ^
:176: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
                                        ^
:178: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
                                        ^
:180: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: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);
                   ^
             (                                            )
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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jscntxt.pp ../jscntxt.cpp
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 ../jsarray.cpp:86:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jsarray.cpp:86:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../jsarray.cpp:86:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from ../jsapi.cpp:98:
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),
                                 ^
../jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from ../jsarray.cpp:86:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../jsarray.cpp:86:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../jsarray.cpp:86:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from ../jsarray.cpp:86:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from ../jsarray.cpp:86:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../assembler/jit/ExecutableAllocator.h:412: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:111:
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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400: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: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
                                        ^
:408: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: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
                                        ^
:410: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: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
                                        ^
:412: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
                                        ^
:262: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
                                        ^
:264: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: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
                                        ^
:268:1: note: expanded from here
js_static_assert48
^
In file included from ../jsarray.cpp:90:
In file included from ../jstracer.h:49:
In file included from ./dist/include/jscntxt.h:62:
../jsfun.h:228:9: warning: unused typedef 'js_static_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
                                        ^
:266: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: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
                                        ^
:284: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]
In file included from ../jsclone.cpp    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
../jsutil.h:120: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]
:21:         struct {
        ^
note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:286: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
                                        ^
:290: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
                                        ^
:292:1: note: expanded from here
js_static_assert60
^
In file included from ../jsarray.cpp:102:
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
                                        ^
:135:1: note: expanded from here
js_static_assert63
^
In file included from ../jsarray.cpp:102:
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
                                        ^
:137:1: note: expanded from here
js_static_assert64
^
In file included from ../jsarray.cpp:102:
../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
                                        ^
:139:1: note: expanded from here
js_static_assert65
^
../jsarray.cpp:231: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
                                        ^
:141:1: note: expanded from here
js_static_assert66
^
../jsarray.cpp:257: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
                                        ^
:143: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;
                         ^
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)
    ^
../jsapi.cpp:1638: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:1643: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:1801: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:1882: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:1984: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 ../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:412: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)
    ^
41 warnings generated.
In file included from ../jsclone.cpp:39:
In file included from ../jsclone.h:43:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../yarr/yarr/RegexPattern.h:233:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    PatternAlternative(PatternDisjunction* disjunction)
    ^
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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jscompartment.pp ../jscompartment.cpp
In file included from ../jsclone.cpp:39:
In file included from ../jsclone.h:43:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../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 ../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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400: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
                                        ^
:412: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: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
                                        ^
:408: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: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
                                        ^
:410: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: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
                                        ^
:50: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:
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
                                        ^
:52: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:
../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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsclone.cpp:39:
In file included from ../jsclone.h:43:
In file included from ../jscntxt.h:62:
../jsfun.h: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
                                        ^
:56: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: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
                                        ^
:72: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
                                        ^
:74: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
                                        ^
:80: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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsclone.cpp:39:
../jsclone.h:102:9: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
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        JS_STATIC_ASSERT(sizeof(jsdouble) == 8);
        ^
: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5../jsutil.h:120:21: note: : note: previous statement is here
    if (!memory)expanded from macro 'JS_STATIC_ASSERT'

    ^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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_assert65
^
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
                                        ^
:86:1: note: expanded from here
js_static_assert63
^
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
                                        ^
:88:1: note: expanded from here
js_static_assert64
^
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
                                        ^
:182: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
                                        ^
:184: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
                                        ^
:186: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
                                        ^
:201:1: note: expanded from here
js_static_assert71
^
../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
                                        ^
:217:1: note: expanded from here
js_static_assert79
^
../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
                                        ^
:215:1: note: expanded from here
js_static_assert78
^
../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
                                        ^
:205:1: note: expanded from here
js_static_assert73
^
../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
                                        ^
:213:1: note: expanded from here
js_static_assert77
^
../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
                                        ^
:207:1: note: expanded from here
js_static_assert74
^
../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
                                        ^
:209:1: note: expanded from here
js_static_assert75
^
../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
                                        ^
:211: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
                                        ^
:221:1: note: expanded from here
js_static_assert81
^
../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
                                        ^
:223:1: note: expanded from here
js_static_assert82
^
../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
                                        ^
:219:1: note: expanded from here
js_static_assert80
^
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;
                         ^
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),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsclone.h:147:42: note: in instantiation of member function 'js::Vector::Vector' requested here
        : out(out), objs(out.context()), counts(out.context()), ids(out.context()),
                                         ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../assembler/jit/ExecutableAllocator.h:412: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:95:
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:625:12: note: in instantiation of member function 'js::Vector::Vector' requested here
JSRuntime::JSRuntime()
           ^
In file included from ../jscntxt.cpp:62:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
In file included from ../jsapi.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h: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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400: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: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
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
                                        ^
:408: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: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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
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
                                        ^
:262: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:
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
                                        ^
:264: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:
../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
                                        ^
:268: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
                                        ^
:266: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
                                        ^
:284: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
                                        ^
:286: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: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
                                        ^
:292:1: note: expanded from here
js_static_assert60
^
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
                                        ^
:290:1: note: expanded from here
js_static_assert59
^
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
                                        ^
:300:1: note: expanded from here
js_static_assert64
^
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
                                        ^
:298:1: note: expanded from here
js_static_assert63
^
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
                                        ^
:302:1: note: expanded from here
js_static_assert65
^
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
                                        ^
:74: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
                                        ^
:76: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
                                        ^
:78: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;
                         ^
../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 ../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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41 warnings generated.
jsdate.cpp
c++ -o jsdate.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I.. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I.. -I../assembler -I../yarr  -fPIC  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsdate.pp ../jsdate.cpp
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: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 ../jsdate.cpp:63:
../jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from ../jscompartment.cpp: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 ../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 ../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:67:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../jscntxt.cpp:90:
../jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
../jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
../jscntxt.cpp:253:15: warning: cast from 'js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        end = (Value *)seg;
              ^~~~~~~~~~~~
In file included from ../jsdate.cpp:67:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jscntxt.cpp:61:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jscntxt.cpp:61:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jsdate.cpp:67:
../jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jscntxt.cpp:61:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../jscntxt.cpp:61:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from ../jscntxt.cpp:61:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from ../jscntxt.cpp:61:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../jscntxt.cpp:61:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../jscntxt.cpp:61:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from ../jscntxt.cpp:61:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from ../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:412: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 ../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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400: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: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jscntxt.cpp:61:
In file included from ../jsatom.h:52:
./dist/include/jsstr.h: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
                                        ^
:408: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: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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jscntxt.cpp:62:
In file included from ../jscntxt.h:62:
In file included from ../jsfun.h:49:
../jsscript.h: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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
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
                                        ^
:54: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
                                        ^
:56: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
                                        ^
:72: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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jscntxt.cpp:62:
In file included from ../jscntxt.h:66:
../jsinterp.h:779:9: warning: unused typedef 'js_static_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'
In file included from ../jsdate.cpp:74:
In file included from ../jsobjinlines.h:53:
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:80:1In file included from ../jsscope.h:59:
In file included from ../jsstrinlines.h:44:
: note: expanded from here
js_static_assert60
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]
^
In file included from ../jscntxt.cpp:77:
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
                                        ^
:176: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
                                        ^
:178: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
                                        ^
:180: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
                                        ^
:106: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 ../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:74:
../jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
../jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
In file included from ../jscompartment.cpp:41:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jscompartment.cpp:41:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jscompartment.cpp:41:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../jscompartment.cpp:41:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from ../jscompartment.cpp:41:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsparse.h:308:39: note: in 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:412: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 ../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 ../jscompartment.cpp:51:
In file included from ../methodjit/PolyIC.h:50:
In file included from ../jsdate.cpp:In file included from ../methodjit/BaseAssembler.h:53:
In file included from ../jsobjinlines.h67:
In file included 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::65:
../jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
 warning: field 'storage' is uninitialized when used here [-Wuninitialized]            return (T *)cell;
                   ^~~~~~~~~
../jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here

  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^

                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jscompartment.cpp:41:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../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: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 ../jscompartment.cpp:41:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../methodjit/BaseAssembler.h:206:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : callPatches(SystemAllocPolicy()),
        ^
In file included from ../jsdate.cpp: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 ../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 ../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
                                        ^
:10: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
                                        ^
:8:1: note: expanded from here
js_static_assert5
^
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
                                        ^
:6:1: note: expanded from here
js_static_assert4
^
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
                                        ^
:14:1: note: expanded from here
js_static_assert8
^
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
                                        ^
:12: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'
In file included from     #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:137: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../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]
:52:
../jsstr.h:        JS_STATIC_ASSERT(sizeof(JSValueType) == 1);
        ^
../jsutil.h:120570:9: warning: unused typedef 'js_static_assert42' [-Wunused-local-typedef]
:21: note: expanded from macro 'JS_STATIC_ASSERT'
        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:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: ../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y:147:1: note: expanded from here
js_static_assert42
^
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jscompartment.cpp:41:
In file included from ../jscntxt.h:
In file included from ../jsdate.cpp:67:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h59:
In file included from ../jsatom.h:52:
In file included from :52:
../jsstr.h:568:9./dist/include/jsstr.h:56:
In file included from : warning: unused typedef 'js_static_assert41' [-Wunused-local-typedef]
./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^
738../jsutil.h:120:21: note: :9: warning: unused typedef 'js_static_assert5' [-Wunused-local-typedef]
expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
../jsutil.h:120        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
:../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
21: note: expanded from macro 'JS_STATIC_ASSERT'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:145    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:1::41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
 note: expanded from here
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^js_static_assert41
^

:In file included from ../jsdate.cpp:336:167:
In file included from : note: ../jscntxt.h:59expanded from here
:
In file included from ../jsatom.h:js_static_assert5
^
52In file included from ../jscompartment.cpp:41:
In file included from :
../jsstr.h:571../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from :9: warning: unused typedef 'js_static_assert43' [-Wunused-local-typedef]
./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:739:9        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^
../jsutil.h: warning: :120unused typedef 'js_static_assert6' [-Wunused-local-typedef]
:21: note: expanded from macro 'JS_STATIC_ASSERT'        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'        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^

../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
149:1: note: expanded from here
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
js_static_assert43
^
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsdate.cppIn file included from ../jscompartment.cpp::67:
41:
In file included from In file included from ../jscntxt.h:../jscntxt.h:5962:
In file included from :
In file included from ../jsatom.h../jsfun.h:49:
:52:
../jsscript.h:83:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]In file included from ./dist/include/jsstr.h:
56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^:740:
../jsutil.h:1209: :21:warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
 note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
../jsutil.h:120:21: note:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
expanded from macro 'JS_STATIC_ASSERT'../jsutil.h:118
:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^:118:
../jsutil.h40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^41: 
:231:note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
1: note: expanded from here
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:340js_static_assert45
^:1:
 In file included from ../jsdate.cpp:note: expanded from here
67:
In file included from js_static_assert7
^../jscntxt.h:62
:
In file included from ../jsfun.hIn file included from ../jscompartment.cpp::49:
41:
In file included from ../jsscript.h:84../jscntxt.h:59:9::
In file included from ../jsatom.h warning: unused typedef 'js_static_assert46' [-Wunused-local-typedef]:52:

In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^:
./dist/include/jsvalue.h:
../jsutil.h741:9:120:: warning: 21: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(sizeof(jsval) == 8);
        ^
../jsutil.h:120:21        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^: note: 
../jsutil.h:118:expanded from macro 'JS_STATIC_ASSERT'
40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^:40:
../jsutil.h note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^:117:
:233:41: 1: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
note: expanded from here
js_static_assert46    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
^

:342:In file included from ../jsdate.cpp:1: 67:
In file included from note: expanded from here
../jscntxt.h:62js_static_assert8
^:
../jsfun.h:
228In file included from ../jscompartment.cpp::9:41:
In file included from  warning: unused typedef 'js_static_assert47' [-Wunused-local-typedef]../jscntxt.h:59
:
In file included from ../jsatom.h:52:
./dist/include/jsstr.h:459        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^:9:
../jsutil.h warning: unused typedef 'js_static_assert37' [-Wunused-local-typedef]:120:
21: note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(((JSString::MAX_LENGTH << JSString::LENGTH_SHIFT) >>
        ^
../jsutil.h:120:        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^21: 
../jsutil.hnote: expanded from macro 'JS_STATIC_ASSERT'
:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^:118:
../jsutil.h:117:40: 41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41:     #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'

:235:1    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^: note: 
expanded from here
:400js_static_assert47
^:1:
 In file included from ../jsdate.cpp:note: expanded from here
67:
In file included from js_static_assert37
^../jscntxt.h:62
:
../jsfun.h:229:In file included from ../jscompartment.cpp:9: 41:
In file included from warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
../jscntxt.h:59:
In file included from ../jsatom.h:52:
./dist/include/jsstr.h:570        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^:9:
../jsutil.h warning: unused typedef 'js_static_assert42' [-Wunused-local-typedef]:120:
21: note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(offsetof(JSShortString, mDummy) == sizeof(JSString));
        ^
../jsutil.h:120:        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^21: 
../jsutil.h:118:note: expanded from macro 'JS_STATIC_ASSERT'
40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^../jsutil.h:118
../jsutil.h:117::40:41:  note: expanded from macro 'JS_STATIC_ASSERT_GLUE'note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'

    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y):237
                                       ^
:../jsutil.h:1171: :41:note: expanded from here
 note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'js_static_assert48
^

In file included from     #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^../jsdate.cpp:67
:410::
In file included from ../jscntxt.h1: :63:
note: expanded from here
../jsgc.h:514js_static_assert42
^:5: warning: unused typedef 'js_static_assert56' [-Wunused-local-typedef]

In file included from ../jscompartment.cpp:41    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    ^
:
../jsutil.h:120:21:In file included from ../jscntxt.h: note: 59:
In file included from ../jsatom.h:52expanded from macro 'JS_STATIC_ASSERT'
:
./dist/include/jsstr.h:568:9: warning: unused typedef 'js_static_assert41' [-Wunused-local-typedef]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) ==
        ^:40: 
../jsutil.hnote: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41:        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^ note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'

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

In file included from ../jsdate.cpp:67:
In file included from ../jscntxt.h:63:
../jsgc.h../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:550:5: warning: unused typedef 'js_static_assert57' [-Wunused-local-typedef]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:408:1    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);: note: expanded from here

    ^
js_static_assert41
^
../jsutil.hIn 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]
:120:21: note: expanded from macro 'JS_STATIC_ASSERT'        JS_STATIC_ASSERT(offsetof(JSString, inlineStorage) +
        ^

../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:255:1: note: expanded from here
:412:1: note: expanded from here
js_static_assert57
^
js_static_assert43
^
In file included from ../jsdate.cpp:67:
In file included from ../jscntxt.h:66:
../jsinterp.h:779:9In file included from ../jscompartment.cpp:41:
In file included from ../jscntxt.h:62:
In file included from ../jsfun.h: warning: unused typedef 'js_static_assert60' [-Wunused-local-typedef]
:49:
../jsscript.h:83:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
../jsutil.h:120:21: note:         JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
expanded from macro 'JS_STATIC_ASSERT'../jsutil.h:120:
21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^

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

js_static_assert45In file included from ../jsdate.cpp:67:
In file included from ../jscntxt.h:66:

^
../jsinterp.h:In file included from ../jscompartment.cpp:41:
In file included from ../jscntxt.h778:9: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
:62:
In file included from ../jsfun.h:49:
../jsscript.h:84:        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
9../jsutil.h:: warning: unused typedef 'js_static_assert46' [-Wunused-local-typedef]
120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        JS_STATIC_ASSERT(UPVAR_LEVEL_LIMIT < FREE_LEVEL);
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^expanded from macro 'JS_STATIC_ASSERT_GLUE'

../jsutil.h:118:40: note:     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
expanded from macro 'JS_STATIC_ASSERT_GLUE'../jsutil.h:117:41: note: 
expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:259    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
:1                                       ^
:../jsutil.h: note: 117:expanded from here
41: js_static_assert59
^
note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
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]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:52:1: note: expanded from here
    JS_STATIC_ASSERT(jsint(JSString::MAX_LENGTH) == JSString::MAX_LENGTH);
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
js_static_assert46
^
In file included from ../jscompartment.cpp:41:
In file included from ../jscntxt.h:62:
../jsfun.h:229:9        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
:                     ^
warning: unused typedef 'js_static_assert48' [-Wunused-local-typedef]
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
note: ../jsutil.h:118:expanded from macro 'JS_STATIC_ASSERT_GLUE1'
40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:66:1    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
: note: expanded from here
../jsutil.h:js_static_assert63
^
117: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]
41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    JS_STATIC_ASSERT(INT_STRING_LIMIT <= 999);
    ^
../jsutil.h:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
120:21: note: expanded from macro 'JS_STATIC_ASSERT'
:56:1: note: expanded from here
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
js_static_assert48
^
../jsutil.h:118:40: 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]note: expanded from macro 'JS_STATIC_ASSERT_GLUE'

    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, i.script));
        ^

../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
../jsutil.h:120:21:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
 note: expanded from macro 'JS_STATIC_ASSERT'
                                        ^
:68:1: note: expanded from here        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h
:118js_static_assert64
^
:40In 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]
: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41:         typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
../jsutil.h:118:40    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
:                                         ^
note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:54:1: note:     #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
expanded from here
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
js_static_assert47
^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##yIn file included from ../jscompartment.cpp
                                        ^:41
:70:1: note: expanded from here
:
In file included from ../jscntxt.h:63:
../jsgc.h:js_static_assert65
514:^
5: warning: unused typedef 'js_static_assert56' [-Wunused-local-typedef]
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]
    JS_STATIC_ASSERT(JSExternalString::TYPE_LIMIT == 8);
    JSString mDummy;
    ^
             ^../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'

In file included from ../jsdate.cpp:67:
../jscntxt.h:250        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
:26: warning: private field 'padding' is not used [-Wunused-private-field]
../jsutil.h:118:    void                *padding;
                         ^
40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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_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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jscompartment.cpp:41:
In file included from ../jscntxt.h:66:
../jsinterp.h:779:9: warning: unused typedef 'js_static_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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
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
                                        ^
:176: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
                                        ^
:178: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
                                        ^
:180: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;
                         ^
64 warnings generated.
jsdbgapi.cpp
c++ -o jsdbgapi.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I.. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I.. -I../assembler -I../yarr  -fPIC  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsdbgapi.pp ../jsdbgapi.cpp
In file included from ../jsdbgapi.cpp:45:
In file included from ../jsprvtd.h:57:
In file included from ../jspubtd.h:47:
In file included from ../jsval.h:48:
../jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from ../jsdbgapi.cpp:52:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../jsdbgapi.cpp:52:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsdbgapi.cpp:52:
../jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsdbgapi.cpp:55:
In file included from ../jsemit.h:49:
../jsparse.h:654:16: warning: cast from 'char *' to 'JSParseNode *' increases required alignment from 1 to 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsdbgapi.cpp:72:
../jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
../jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
46 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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -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;
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
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)
                             ^
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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -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.
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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsemit.pp ../jsemit.cpp
../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 ../jsemit.cpp:52:
../jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from ../jsdbgapi.cpp:52:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../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:412: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 ../jsdtoa.cpp:49:
In file included from ../jsnum.h:53:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../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.h45 warnings generated.
: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) {};
                                  ^
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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsexn.pp ../jsexn.cpp
In file included from ../jsdbgapi.cpp:52:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h: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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400: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: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
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'
41 warnings generated.
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:408: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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
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
                                        ^
:52: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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
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
                                        ^
:72: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
                                        ^
:74: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
                                        ^
:80: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
                                        ^
:78: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
                                        ^
:176: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
                                        ^
:178: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
                                        ^
:180: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;
                         ^
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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsfriendapi.pp ../jsfriendapi.cpp
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 ../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 ../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 ../jsemit.cpp:58:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsemit.cpp:58:
../jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../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 ../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:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../jsdtoa.cpp:54:
../jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
../jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
In file included from ../jsfriendapi.cpp:40:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../jsemit.cpp:73:
../jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
../jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
In file included from ../jsdtoa.cpp:83:
../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 ../jsdtoa.cpp:49:
In file included from ../jsnum.h:53:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jsdtoa.cpp:49:
In file included from ../jsnum.h:53:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jsdtoa.cpp:49:
In file included from ../jsnum.h:53:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../jsdtoa.cpp:49:
In file included from ../jsnum.h:53:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from ../jsdtoa.cpp:49:
In file included from ../jsnum.h:53:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from ../jsexn.cpp:52:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
In file included from ../jsdtoa.cpp:49:
In file included from ../jsnum.h:53:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../jsdtoa.cpp:49:
In file included from ../jsnum.h:53:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../jsdtoa.cpp:49:
In file included from ../jsnum.h:53:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from ../jsdtoa.cpp:54:
In file included from ../jsobjinlines.h:65:
../jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
../jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
In file included from ../jsdtoa.cpp:49:
In file included from ../jsnum.h:53:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from ../jsdtoa.cpp:49:
In file included from ../jsnum.h:50:
../jsvalue.h: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
                                        ^
:238:1: note: expanded from here
js_static_assert5
^
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
                                        ^
:244:1: note: expanded from here
js_static_assert8
^
In file included from ../jsdtoa.cpp:49:
In file included from ../jsnum.h:50:
../jsvalue.h:737:9: warning: unused typedef 'js_static_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
                                        ^
:236:1: note: expanded from here
js_static_assert4
^
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
                                        ^
:242: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
                                        ^
:240:1: note: expanded from here
js_static_assert6
^
In file included from ../jsdtoa.cpp:49:
In file included from ../jsnum.h:53:
../jsstr.h:459:9: warning: unused typedef 'js_static_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'
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
                                       ^
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'

     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
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
                                        ^
:410: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsdtoa.cpp:52:
In file included from ../jscntxt.h:62:
In file included from ../jsfun.h:49:
../jsscript.h:83:9: warning: unused typedef 'js_static_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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
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
                                        ^
:72: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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
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
                                        ^
:176: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
                                        ^
:178: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
                                        ^
:180: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;
                         ^
In file included from ../jsexn.cpp:52:
../jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsfriendapi.cpp:40:
../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 ../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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsemit.cpp:4100:10: warning: variable 'forInLet' set but not used [-Wunused-but-set-variable]
    bool forInLet, popScope;
         ^
In file included from ../jsexn.cpp:61:
In file included from ../jsscope.h:59:
In file included from ../jsstrinlines.h:44:
In file included from ../jscntxtinlines.h:46:
../jsparse.h:654:16: warning: cast from 'char *' to 'JSParseNode *' increases required alignment from 1 to 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsfriendapi.cpp:40:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jsfriendapi.cpp:40:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jsfriendapi.cpp:40:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../jsfriendapi.cpp:40:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from ../jsfriendapi.cpp:40:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:64:
../jsvalue.h:737:9: warning: unused typedef 'js_static_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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400: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: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
                                        ^
:408: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: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
                                        ^
:410: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: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
                                        ^
:412: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: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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
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
                                        ^
:72: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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
../jsemit.cpp:5675:19: warning: variable 'blockObj' set but not used [-Wunused-but-set-variable]
        JSObject *blockObj;
                  ^
26 warnings generated.
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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsfun.pp ../jsfun.cpp
In file included from ../jsfun.cpp:47:
In file included from ../jsbit.h:44:
../jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from ../jsemit.cpp:56:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jsemit.cpp:56:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jsemit.cpp:56:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../jsemit.cpp:56:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from ../jsemit.cpp:56:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from ../jsemit.cpp:56:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from ../jsexn.cpp:68:
../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:56:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../jsemit.cpp:56:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../jsemit.cpp:56:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from ../jsemit.cpp: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)
                                       ^
../jsexn.cpp:189:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSErrorReport *' increases required alignment from 1 to 4 [-Wcast-align]
    copy = (JSErrorReport *)cursor;
           ^~~~~~~~~~~~~~~~~~~~~~~
../jsexn.cpp:194: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:197: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:207: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:213:27: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'const jschar *' (aka 'const unsigned short *') increases required alignment from 1 to 2 [-Wcast-align]
        copy->uclinebuf = (const jschar *)cursor;
                          ^~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsemit.cpp:56:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsemit.cpp:120:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    globalUses(ContextAllocPolicy(parser->context)),
    ^
../jsexn.cppIn file included from ../jsemit.cpp:56:
In file included from ../jsatom.h:52:260:12: warning: cast from 'JSStackTraceElem *' to 'jsval *' (aka 'unsigned long long *') increases required alignment from 4 to 8 [-Wcast-align]
:
In file included from ../jsstr.h:56:
In file included from     return (jsval *)(priv->stackElems + priv->stackDepth);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../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)),
    ^
../jsexn.cpp:451: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 ../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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsemit.cpp:58:
In file included from ../jscntxt.h:62:
In file included from ../jsfun.h:49:
../jsscript.h:83:9: warning: unused typedef 'js_static_assert45' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(UpvarCookie) == sizeof(uint32));
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:50: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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsemit.cpp:58:
In file included from ../jscntxt.h:62:
../jsfun.h:229:9: warning: unused typedef 'js_static_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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
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
                                        ^
:72: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
                                        ^
:74: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
                                        ^
:78: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
                                        ^
:80: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
                                        ^
:176: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
                                        ^
:178: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
                                        ^
:180: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
                                        ^
:184: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
                                        ^
:188: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
                                        ^
:186:1: note: expanded from here
js_static_assert68
^
In file included from ../jsemit.cpp:56:
In file included from ../jsatom.h:52:
../jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from ../jsemit.cpp:58:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jsexn.cpp:52:
In file included 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:412: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:68:
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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400: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: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsexn.cpp:52:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
../jsstr.h:570:9: warning: unused typedef 'js_static_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
                                        ^
:410: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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
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
                                        ^
:72: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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsexn.cpp:52:
In file included from ../jscntxt.h:66:
../jsinterp.h:779:9: warning: unused typedef 'js_static_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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsexn.cpp:61:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsexn.cpp:61:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsexn.cpp:61:
../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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
../jsexn.cpp:147: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
                                        ^
:182:1: note: expanded from here
js_static_assert66
^
../jsexn.cpp:148: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
                                        ^
:184:1: note: expanded from here
js_static_assert67
^
../jsexn.cpp:258: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
                                        ^
:186:1: note: expanded from here
js_static_assert68
^
../jsexn.cpp:441: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
                                        ^
:188: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 {
        ^
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 ../jsfun.cpp:54:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsfun.cpp:54:
../jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsfun.cpp:57:
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 ../jsfun.cpp:92:
../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);
                   ^
             (                                            )
../jsfun.cpp:1692: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:1699: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:1795: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:1812: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)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
58 warnings generated.
jsgc.cpp
c++ -o jsgc.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I.. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I.. -I../assembler -I../yarr  -fPIC  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsgc.pp ../jsgc.cpp
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
./dist/include/jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
./dist/include/jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../assembler/jit/ExecutableAllocator.h:412: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:92:
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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400: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
                                        ^
:408: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
                                        ^
:410: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
                                        ^
:412: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
                                        ^
:262: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
                                        ^
:264: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
                                        ^
:268: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
                                        ^
:266: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
                                        ^
:284: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
                                        ^
:286: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
                                        ^
:290: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
                                        ^
:292:1: note: expanded from here
js_static_assert60
^
In file included from ../jsfun.cpp:69:
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
                                        ^
:67:1: note: expanded from here
js_static_assert63
^
In file included from ../jsfun.cpp:69:
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
                                        ^
:69:1: note: expanded from here
js_static_assert64
^
In file included from ../jsfun.cpp:69:
../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
                                        ^
:71:1: note: expanded from here
js_static_assert65
^
../jsfun.cpp:187: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
                                        ^
:97:1: note: expanded from here
js_static_assert66
^
In file included from ../jsfun.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from ../jsfun.cpp:54:
./dist/include/jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../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)
    ^
52 warnings generated.
jsgcchunk.cpp
c++ -o jsgcchunk.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I.. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I.. -I../assembler -I../yarr  -fPIC  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsgcchunk.pp ../jsgcchunk.cpp
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)
    ^
40 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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsgcstats.pp ../jsgcstats.cpp
1 warning generated.
jshash.cpp
c++ -o jshash.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I.. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I.. -I../assembler -I../yarr  -fPIC  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jshash.pp ../jshash.cpp
In file included from ../jsgcstats.cpp:40:
In file included from ../jscntxt.h:55:
In file included from ../jsprvtd.h:57:
In file included from ../jspubtd.h:47:
In file included from ../jsval.h:48:
../jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from ../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 ../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:63:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsgc.cpp:63:
../jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsinterp.pp ../jsinterp.cpp
61 warnings generated.
jsinvoke.cpp
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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsinvoke.pp ../jsinvoke.cpp
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 ../jsgcstats.cpp:40:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../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 ../jsinterp.cpp:50:
../jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from ../jsgcstats.cpp:40:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsgc.cpp: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 ../jsgcstats.cpp:40:
../jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsgcstats.cpp:44:
In file included from ../jsbuiltins.h:45:
In file included from ../nanojit/nanojit.h:379:
../nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from ../jsgcstats.cpp:44:
In file included from ../jsbuiltins.h:45:
In file included from ../nanojit/nanojit.h:379:
../nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../jsgcstats.cpp:40:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400: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:In file included from ../jsgc.cpp:91:
../jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
../jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
:410:1: note: expanded from here
js_static_assert42
^           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )

In file included from ../jsgcstats.cpp:40:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
../jsstr.h:568:../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
9: warning: unused typedef 'js_static_assert41' [-Wunused-local-typedef]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )        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
                                        ^
:408: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
                                        ^
:412: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: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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsgcstats.cpp:40:
In file included from ../jscntxt.h:62:
../jsfun.h:228:9: warning: unused typedef 'js_static_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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
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
                                        ^
:72: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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
28 warnings generated.
jsiter.cpp
c++ -o jsiter.o -c  -fvisibility=hidden -DOSTYPE=\"MidnightBSD3.0.0\" -DOSARCH=MidnightBSD -DEXPORT_JS_API -D__STDC_LIMIT_MACROS  -I.. -I. -I./dist/include -I./dist/include/nsprpub  -I/usr/local/include/nspr   -I.. -I../assembler -I../yarr  -fPIC  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsiter.pp ../jsiter.cpp
In file included from ../jsiter.cpp:47:
../jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
In file included from ../jsinterp.cpp:56:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:56:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../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 ../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 ../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)
          ^
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsgc.cpp: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 ../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 ../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:412: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:70:
In file included from ../jsemit.h:49:
../jsparse.h:654:16: warning: cast from 'char *' to 'JSParseNode *' increases required alignment from 1 to 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsgc.cpp:91:
In file included from ../jsobjinlines.h:65:
../jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
../jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
In file included from ../jsgc.cpp:62:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from ../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]
../jsgc.cpp:581:36: warning: cast from 'js::gc::Cell *' to 'JSString *' increases required alignment from 1 to 4 [-Wcast-align]        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    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: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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: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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsgc.cpp:62:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:737:9: warning: unused typedef 'js_static_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
                                        ^
:334: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
                                        ^
:400: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: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
                                        ^
:410: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:568In file included from ../jsiter.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:9: warning: unused typedef 'js_static_assert41' [-Wunused-local-typedef]
:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
        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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsgc.cpp:63:
In file included from ../jscntxt.h:62:
In file included from ../jsfun.h:49:
../jsscript.h:84:9: warning: unused typedef 'js_static_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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsgc.cpp:63:
In file included from ../jscntxt.h:62:
../jsfun.h:229:9: warning: unused typedef 'js_static_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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
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
                                        ^
:72: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
                                        ^
:74: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
                                        ^
:78: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
                                        ^
:80: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
                                        ^
:176: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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsgc.cpp:77:
../jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:180: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
                                        ^
:127: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
                                        ^
:129:1: note: expanded from here
js_static_assert82
^
In file included from ../jsgc.cpp:62:
In file included from ../jsatom.h:52:
./dist/include/jsstr.h:525:14: warning: private field 'mDummy' is not used [-Wunused-private-field]
    JSString mDummy;
             ^
In file included from ../jsgc.cpp:63:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jsinterp.cpp: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 ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:75:
In file included from ../jstracer.h:48:
In file included from ../jsbuiltins.h:45:
In file included from ../nanojit/nanojit.h:379:
../nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int16_t *' (aka 'short *') increases required alignment from 1 to 2 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../nanojit/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:75:
In file included from ../jstracer.h:48:
In file included from ../jsbuiltins.h:45:
In file included from ../nanojit/nanojit.h:379:
../nanojit/Assembler.h:517:13: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            DECLARE_PLATFORM_ASSEMBLER()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../nanojit/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
In file included from ../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 ../jsinterp.cpp:85:
../jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
../jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
In file included from ../jsiter.cpp:54:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsiter.cpp:54:
../jscntxt.h:2963:12: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSContext *' increases required alignment from 1 to 8 [-Wcast-align]
    return (JSContext *) ((uint8 *) link - offsetof(JSContext, link));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:85:
../jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
../jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
In file included from ../jsiter.cpp:68:
In file included from ../jsscope.h:59:
In file included from ../jsstrinlines.h:44:
In file included from ../jscntxtinlines.h:46:
../jsparse.h:654:16: warning: cast from 'char *' to 'JSParseNode *' increases required alignment from 1 to 4 [-Wcast-align]
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsinterp.cpp:2587:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
        atoms = COMMON_ATOMS_START(&rt->atomState);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsinterp.cpp:2753:25: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                atoms = COMMON_ATOMS_START(&rt->atomState);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsiter.cpp:80:
../jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
../jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
../jsiter.cpp:270:16: warning: implicit conversion of NULL constant to 'bool' [-Wnull-conversion]
        return NULL;
        ~~~~~~ ^~~~
               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),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsparse.h:308:39: note: in instantiation of member function 'js::Vector::Vector' requested here
      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../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 ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../jsiter.cpp: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 ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:394:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : stack(cx), cur(NULL)
        ^
In file included from ../jsiter.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../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),
                                 ^
../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),
                                 ^
../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),
                                 ^
../assembler/jit/ExecutableAllocator.h:412:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from ../jsiter.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../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:85:
In file included from ../jsobjinlines.h:65:
../jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
            return (T *)cell;
                   ^~~~~~~~~
../jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
In file included from ../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 ../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 ../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:412:24: note: in instantiation of member function 'js::Vector::Vector' requested here
inline ExecutablePool::ExecutablePool(size_t n) : m_refCount(1), m_destroy(false), m_gcNumber(0)
                       ^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h: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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:740:9: warning: unused typedef 'js_static_assert7' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSWhyMagic) <= 4);
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:340:1: note: In file included from ../jsiter.cpp:80:
In file included from ../jsobjinlines.hexpanded from here
js_static_assert7
^
:65:
../jsgcinlines.h:125:20: warning: cast from 'js::gc::FreeCell *' to 'JSFunction *' increases required alignment from 4 to 8 [-Wcast-align]
In file included from ../jsinvoke.cpp:42            return (T *)cell;
                   ^~~~~~~~~
../jsgcinlines.h:168:23: note: in instantiation of function template specialization 'NewFinalizableGCThing' requested here
:
In file included from ../jsinterp.cpp:    JSFunction *fun = NewFinalizableGCThing(cx, js::gc::FINALIZE_FUNCTION);
                      ^
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h: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
                                        ^
:334: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:738:9: warning: unused typedef 'js_static_assert5' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSValueTag) == 4);
        ^
../jsutil.h:120In file included from ../jsiter.cpp:50:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h::21: note: expanded from macro 'JS_STATIC_ASSERT'
52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
: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:  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsobjinlines.h:829:40: note: in instantiation of member function 'js::Vector::Vector' requested here
117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
      : AutoGCRooter(cx, DESCRIPTORS), descriptors(cx)
                                       ^
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:336: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:
./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
                                        ^
:400: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
./dist/include/jsstr.h:570:9: warning: unused typedef 'js_static_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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
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
                                        ^
:50: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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:56:
In file included from ../jscntxt.h:62:
../jsfun.h: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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:56:
In file included from ../jscntxt.h:62:
../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
                                        ^
:56: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: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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:56:
In file included from ../jscntxt.h:63:
../jsgc.h:550:5: warning: unused typedef 'js_static_assert57' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(FINALIZE_STRING + 1 == FINALIZE_EXTERNAL_STRING);
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:56:
In file included from ../jscntxt.h:66:
../jsinterp.h:778:9: warning: unused typedef 'js_static_assert59' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(offsetof(JSStackFrame, rval_) % sizeof(js::Value) == 0);
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:56:
In file included from ../jscntxt.h:66:
../jsinterp.h:779:9: warning: unused typedef 'js_static_assert60' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(JSStackFrame) % sizeof(js::Value) == 0);
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:80: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
                                        ^
:176: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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsinvoke.cpp:42:
In file included from ../jsinterp.cpp:71:
../jsscope.h:431:9: warning: unused typedef 'js_static_assert65' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(uint32(SHAPE_INVALID_SLOT) == ~uint32(0));
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:180: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
                                        ^
:106: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 ../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:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
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: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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
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: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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
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: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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
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: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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
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: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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
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: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
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: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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
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: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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsiter.cpp:54:
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
                                        ^
:262:1: note: expanded from here
js_static_assert45
^
In file included from ../jsiter.cpp:54:
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
                                        ^
:264:1: note: expanded from here
js_static_assert46
^
In file included from ../jsiter.cpp:54:
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
                                        ^
:266:1: note: expanded from here
js_static_assert47
^
In file included from ../jsiter.cpp:54:
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
                                        ^
:268:1: note: expanded from here
js_static_assert48
^
In file included from ../jsiter.cpp:54:
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
                                        ^
:284:1: note: expanded from here
js_static_assert56
^
In file included from ../jsiter.cpp:54:
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
                                        ^
:286:1: note: expanded from here
js_static_assert57
^
In file included from ../jsiter.cpp:54:
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
                                        ^
:292:1: note: expanded from here
js_static_assert60
^
In file included from ../jsiter.cpp:54:
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
                                        ^
:290:1: note: expanded from here
js_static_assert59
^
In file included from ../jsiter.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
                                        ^
:67:1: note: expanded from here
js_static_assert63
^
In file included from ../jsiter.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
                                        ^
:69:1: note: expanded from here
js_static_assert64
^
In file included from ../jsiter.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
                                        ^
:71:1: note: expanded from here
js_static_assert65
^
../jsiter.cpp:339:5: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(JSIdArray) > sizeof(jsid));
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:97:1: note: expanded from here
js_static_assert66
^
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;
                         ^
49 warnings generated.
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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -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)
    ^
47 warnings generated.
jslog2.cpp
c++ -o jslog2.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jslog2.pp ../jslog2.cpp
In file included from ../jslog2.cpp:40:
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)
    ^
1 warning generated.
jsmath.cpp
c++ -o jsmath.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsmath.pp ../jsmath.cpp
In file included from ../jsmath.cpp:48:
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 ../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);
               ^~~~~~~~~~~~~~~~~~~
46 warnings generated.
jsnativestack.cpp
c++ -o jsnativestack.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsnativestack.pp ../jsnativestack.cpp
../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 ../jsnativestack.cpp:41:
In file included from ../jsnativestack.h:42:
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 ../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 ../jsmath.cpp:49:
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 {
        ^
1 warning generated.
jsnum.cpp
c++ -o jsnum.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsnum.pp ../jsnum.cpp
../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 ../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),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
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),
                                 ^
../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 ../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),
                                 ^
../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 ../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),
                                 ^
../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 ../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),
                                 ^
../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 ../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 ../jsmath.cpp:50:
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 ../jsmath.cpp:50:
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 ../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
                                        ^
:334: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
                                        ^
:336: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
                                        ^
:338: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
                                        ^
:340: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
                                        ^
:342: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
                                        ^
:400: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: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
                                        ^
:410: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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
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
                                        ^
:50: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
                                        ^
:52: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
                                        ^
:54: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
                                        ^
:56: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
                                        ^
:72: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
                                        ^
:74: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
                                        ^
:80: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
                                        ^
:78: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
                                        ^
:176: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
                                        ^
:178: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
                                        ^
:180: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;
                         ^
In file included from ../jsnum.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 ../jsmath.cpp:51:
../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 ../jsmath.cpp:51:
../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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
38 warnings generated.
jsobj.cpp
c++ -o jsobj.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsobj.pp ../jsobj.cpp
In file included from ../jsnum.cpp:58:
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 ../jsobj.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 ../jsmath.cpp:49:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsmath.cpp:49:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsmath.cpp:49:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsmath.cpp:49:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsmath.cpp:49:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsmath.cpp:49:
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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsmath.cpp:49:
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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsmath.cpp:49:
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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsmath.cpp:49:
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsmath.cpp:49:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsmath.cpp:49:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsmath.cpp:49:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsmath.cpp:49:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsmath.cpp:51:
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
                                        ^
:264:1: note: expanded from here
js_static_assert46
^
In file included from ../jsmath.cpp:51:
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
                                        ^
:262:1: note: expanded from here
js_static_assert45
^
In file included from ../jsmath.cpp:51:
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
                                        ^
:266:1: note: expanded from here
js_static_assert47
^
In file included from ../jsmath.cpp:51:
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
                                        ^
:268:1: note: expanded from here
js_static_assert48
^
In file included from ../jsmath.cpp:51:
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
                                        ^
:284:1: note: expanded from here
js_static_assert56
^
In file included from ../jsmath.cpp:51:
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
                                        ^
:286:1: note: expanded from here
js_static_assert57
^
In file included from ../jsmath.cpp:51:
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
                                        ^
:290:1: note: expanded from here
js_static_assert59
^
In file included from ../jsmath.cpp:51:
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
                                        ^
:292:1: note: expanded from here
js_static_assert60
^
In file included from ../jsnum.cpp:59:
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 ../jsnum.cpp:59:
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); \
              ^~~~~~~~~~~~~~~
46 warnings generated.
In file included from ../jsnum.cpp:60:
../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);
               ^~~~~~~~~~~~~~~~~~~
json.cpp
c++ -o json.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/json.pp ../json.cpp
../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 ../jsnum.cpp:60:
../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 ../json.cpp:43:
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 ../jsobj.cpp:55:
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 ../jsnum.cpp:69:
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 ../jsobj.cpp:58:
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 ../jsobj.cpp:58:
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); \
              ^~~~~~~~~~~~~~~
28 warnings generated.
jsopcode.cpp
c++ -o jsopcode.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsopcode.pp ../jsopcode.cpp
In file included from ../jsobj.cpp:59:
../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 ../jsopcode.cpp:54:
../jsutil.h:304:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
        *(size_t *)memory = n;
        ^
../jsutil.h:302:5: note: previous statement is here
    if (!memory)
    ^
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsnum.cpp:75:
../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 ../jsobj.cpp:59:
../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 ../json.cpp:45:
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 ../jsobj.cpp:61:
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 ../jsnum.cpp:58:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsnum.cpp:58:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsnum.cpp:58:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsnum.cpp:58:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsnum.cpp:58:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsnum.cpp:58:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsnum.cpp:58:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsnum.cpp:58:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsnum.cpp:58:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsnum.cpp:58:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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:412: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 ../jsnum.cpp:75:
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 ../jsnum.cpp:58:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsnum.cpp:58:
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsnum.cpp:58:
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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsnum.cpp:58:
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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsnum.cpp:58:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsnum.cpp:58:
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'
In file included from ../json.cpp:48:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsnum.cpp:58:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsnum.cpp:58:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsnum.cpp:58:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsnum.cpp:58:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsnum.cpp:60:
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
                                        ^
:264:1: note: expanded from here
js_static_assert46
^
In file included from ../jsnum.cpp:60:
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
                                        ^
:262:1: note: expanded from here
js_static_assert45
^
In file included from ../jsnum.cpp:60:
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
                                        ^
:266:1: note: expanded from here
js_static_assert47
^
In file included from ../jsnum.cpp:60:
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
                                        ^
:268:1: note: expanded from here
js_static_assert48
^
In file included from ../jsnum.cpp:60:
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
                                        ^
:284:1: note: expanded from here
js_static_assert56
^
In file included from ../jsnum.cpp:60:
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
                                        ^
:286:1: note: expanded from here
js_static_assert57
^
In file included from ../jsnum.cpp:60:
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
                                        ^
:290:1: note: expanded from here
js_static_assert59
^
In file included from ../jsnum.cpp:60:
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
                                        ^
:292:1: note: expanded from here
js_static_assert60
^
In file included from ../jsnum.cpp:69:
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
                                        ^
:67:1: note: expanded from here
js_static_assert63
^
In file included from ../jsnum.cpp:69:
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
                                        ^
:69:1: note: expanded from here
js_static_assert64
^
In file included from ../jsnum.cpp:69:
../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
                                        ^
:71:1: note: expanded from here
js_static_assert65
^
../jsnum.cpp:594:5: warning: unused typedef 'js_static_assert69' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sbufSize >= DTOSTR_STANDARD_BUFFER_SIZE);
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:170:1: note: expanded from here
js_static_assert69
^
../jsnum.cpp:625:5: warning: unused typedef 'js_static_assert70' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSShortString::MAX_SHORT_STRING_LENGTH + 1 >= sizeof("-2147483648"));
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:172:1: note: expanded from here
js_static_assert70
^
In file included from ../jsnum.cpp:58:
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 ../jsnum.cpp:60:
./dist/include/jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
../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 ../json.cpp:48:
../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 ../jsopcode.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 ../json.cpp:66:
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 ../jsobj.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 ../jsopcode.cpp:59:
../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 ../json.cpp:66:
../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.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 ../jsopcode.cpp:59:
../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 ../jsopcode.cpp:62:
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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsobj.cpp:3080:13: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
            GET_ATOM_FROM_BYTECODE(script, pc, 0, atom);
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../json.cpp:45:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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 ../json.cpp:45:
In file included from ../jsarray.h: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 ../json.cpp:45:
In file included from ../jsarray.h: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 ../json.cpp:45:
In file included from ../jsarray.h: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 ../json.cpp:45:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../json.cpp:45:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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 ../json.cpp:66:
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 ../json.cpp:45:
In file included from ../jsarray.h: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 ../json.cpp:45:
In file included from ../jsarray.h: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),
                                 ^
../json.cpp:80:8: note: in instantiation of member function 'js::Vector::Vector' requested here
       objectKey(cx), buffer(cx), suppressErrors(false)
       ^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../json.cpp:48:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../json.cpp:48:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../json.cpp:48:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../json.cpp:48:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../json.cpp:48:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../json.cpp:48:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../json.cpp:48:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../json.cpp:48:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../json.cpp:66:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../json.cpp:66:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../json.cpp:66:
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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../json.cpp:45:
In file included from ../jsarray.h: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 ../json.cpp:48:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsopcode.cpp:74:
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 ../jsopcode.cpp:74:
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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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:412: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 ../jsobj.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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsobj.cpp:55:
In file included from ../jsarray.h:47:
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsobj.cpp:55:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsobj.cpp:55:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsobj.cpp:55:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsobj.cpp:55:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsobj.cpp:59:
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
                                        ^
:262:1: note: expanded from here
js_static_assert45
^
In file included from ../jsobj.cpp:59:
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
                                        ^
:264:1: note: expanded from here
js_static_assert46
^
In file included from ../jsobj.cpp:59:
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
                                        ^
:268:1: note: expanded from here
js_static_assert48
^
In file included from ../jsobj.cpp:59:
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
                                        ^
:266:1: note: expanded from here
js_static_assert47
^
In file included from ../jsobj.cpp:59:
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
                                        ^
:284:1: note: expanded from here
js_static_assert56
^
In file included from ../jsobj.cpp:59:
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
                                        ^
:286:1: note: expanded from here
js_static_assert57
^
In file included from ../jsobj.cpp:59:
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
                                        ^
:292:1: note: expanded from here
js_static_assert60
^
In file included from ../jsobj.cpp:59:
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
                                        ^
:290:1: note: expanded from here
js_static_assert59
^
In file included from ../jsobj.cpp:72:
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
                                        ^
:67:1: note: expanded from here
js_static_assert63
^
In file included from ../jsobj.cpp:72:
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
                                        ^
:69:1: note: expanded from here
js_static_assert64
^
In file included from ../jsobj.cpp:72:
../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
                                        ^
:71:1: note: expanded from here
js_static_assert65
^
In file included from ../jsobj.cpp:55:
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 ../jsobj.cpp:59:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jsopcode.cpp:78:
../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);
                   ^
             (                                            )
../jsopcode.cpp:1659:13: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
            LOAD_ATOM(0);
            ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:1573:14: warning: variable 'saveop' set but not used [-Wunused-but-set-variable]
    JSOp op, saveop;
             ^
../jsopcode.cpp:3445:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3455:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3562:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3675:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3685:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                GET_ATOM_QUOTE_AND_FMT("%s %s[%s]", "%s %s.%s", rval);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:1958:9: note: expanded from macro 'GET_ATOM_QUOTE_AND_FMT'
        LOAD_ATOM(0);                                                         \
        ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3734:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3747:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                GET_ATOM_QUOTE_AND_FMT(preindex_format, predot_format, rval);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:1958:9: note: expanded from macro 'GET_ATOM_QUOTE_AND_FMT'
        LOAD_ATOM(0);                                                         \
        ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3790:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3803:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                GET_ATOM_QUOTE_AND_FMT(postindex_format, postdot_format, rval);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:1958:9: note: expanded from macro 'GET_ATOM_QUOTE_AND_FMT'
        LOAD_ATOM(0);                                                         \
        ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3848:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3859:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3876:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(ARGNO_LEN);
                ^~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3889:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(2);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:3894:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:4000:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:4044:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:4560:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:4638:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:4648:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:4740:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:4749:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.cpp:4758:17: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
                LOAD_ATOM(0);
                ^~~~~~~~~~~~
../jsopcode.cpp:1429:5: note: expanded from macro 'LOAD_ATOM'
    GET_ATOM_FROM_BYTECODE(jp->script, pc, PCOFF, atom)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jsopcode.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()
    ^
45 warnings generated.
jsparse.cpp
c++ -o jsparse.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsparse.pp ../jsparse.cpp
In file included from ../jsopcode.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 ../jsopcode.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 ../jsopcode.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 ../jsopcode.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 ../jsopcode.cpp:57:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsemit.h:550:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^
In file included from ../jsopcode.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 ../jsopcode.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 ../jsopcode.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 ../jsopcode.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 ../jsopcode.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:412: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 ../jsopcode.cpp:78:
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 ../jsopcode.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 ../jsopcode.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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsopcode.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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsopcode.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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsopcode.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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsopcode.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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsopcode.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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsopcode.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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsopcode.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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsopcode.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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsopcode.cpp:59:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsopcode.cpp:59:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsopcode.cpp:59:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsopcode.cpp:59:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsopcode.cpp:59:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsopcode.cpp:59:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsopcode.cpp:59:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsopcode.cpp:59:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsopcode.cpp:70:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsopcode.cpp:70:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsopcode.cpp:70:
../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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
../jsopcode.cpp:1892:5: warning: unused typedef 'js_static_assert312' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(ARGNO_LEN == SLOTNO_LEN);
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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_assert312
^
In file included from ../jsopcode.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 ../jsopcode.cpp:59:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jsparse.cpp:60:
../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 ../jsparse.cpp:62:
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 ../jsparse.cpp:64:
../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 ../jsparse.cpp:64:
../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 ../jsparse.cpp:66:
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 ../jsparse.cpp:93:
../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 ../jsparse.cpp:94:
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 {
        ^
../jsparse.cpp:1824:16: warning: implicit conversion of NULL constant to 'bool' [-Wnull-conversion]
        return NULL;
        ~~~~~~ ^~~~
               false
../jsparse.cpp:1831:16: warning: implicit conversion of NULL constant to 'bool' [-Wnull-conversion]
        return NULL;
        ~~~~~~ ^~~~
               false
../jsparse.cpp:1917:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
71 warnings generated.
jsproxy.cpp
c++ -o jsproxy.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsproxy.pp ../jsproxy.cpp
../jsparse.cpp:5061:32: warning: implicit conversion of NULL constant to 'bool' [-Wnull-conversion]
                        return NULL;
                        ~~~~~~ ^~~~
                               false
40 warnings generated.
jsprf.cpp
c++ -o jsprf.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsprf.pp ../jsprf.cpp
In file included from ../jsproxy.cpp:43:
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 ../jsprf.cpp:51:
../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: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))
                                      ^
../jsparse.cpp:8540:16: warning: variable 'afterComma' set but not used [-Wunused-but-set-variable]
        JSBool afterComma;
               ^
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:412: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 ../jsparse.cpp:62:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../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 ../jsparse.cpp:62:
In file included from ../jsarray.h: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 ../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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsinterp.cpp:53:
In file included from ../jsarray.h:In file included from ../jsstr.h:56:
In file included from ../jsobj.h:47:
In file included from ../jsatom.h:52:
In file included from 65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:64  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
:
./dist/include/jsvalue.h:741:9: warning: unused typedef 'js_static_assert8' [-Wunused-local-typedef]
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
        JS_STATIC_ASSERT(sizeof(jsval) == 8);../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here

        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        : AutoVectorRooter(cx, IDVECTOR)
          ^
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:342: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: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
                                        ^
:334: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:
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'
In file included from ../jsparse.cpp:62        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56: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)  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:3236:    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:340:1: note: expanded from here
34js_static_assert7
^
In file included from : note: in instantiation of member function 'js::Vector::Vector' requested here
../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        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
:
In file included from ./dist/include/jsobj.h:64:
./dist/include/jsvalue.h:739:9        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
: 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
                                        ^
:338: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:
./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
                                        ^
:400: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: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
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:In file included from ../jsparse.cpp:62:
21: note: expanded from macro 'JS_STATIC_ASSERT'
In file included from ../jsarray.h:47:
In file included from ../jsatom.h        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118::52:
40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:../jsvector.h:39441: :34:note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
 warning: field 'storage' is uninitialized when used here [-Wuninitialized]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:410  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^:1:
 note: expanded from here
../jsparse.h:js_static_assert42
^
308:39In file included from ../jsinterp.cpp:: note: 53:
In file included from in instantiation of member function 'js::Vector::Vector' requested here
../jsarray.h:47:
In file included from ../jsatom.h:52:
./dist/include/jsstr.h:      : globalObj(globalObj), cg(cg), defs(ContextAllocPolicy(cx))
                                      ^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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
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
                                        ^
:50: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
                                        ^
:52: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]
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h        JS_STATIC_ASSERT(offsetof(U, n.native) == offsetof(U, nativeOrScript));
        ^
../jsutil.h:47:
:120:In file included from ../jsatom.h:21: 52:
In file included from note: expanded from macro 'JS_STATIC_ASSERT'
../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : 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: ../jsemit.h:550note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
:36: note: in instantiation of member function 'js::Vector::Vector' requested here
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
    JSGCConstList(JSContext *cx) : list(cx) {}
                                   ^                                        ^
:56
: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
                                        ^
:54: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
                                        ^
:72: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
                                        ^
:74: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
                                        ^
:78: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
                                        ^
:80: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
                                        ^
:176: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
                                        ^
:178: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
                                        ^
:180: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;
                         ^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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 ../jsparse.cpp:62:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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:412: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 ../jsparse.cpp:93:
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 ../jsparse.cpp:62:
In file included from ../jsarray.h: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 ../jsparse.cpp:62:
In file included from ../jsarray.h: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),
                                 ^
../yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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),
                                 ^
../yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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),
                                 ^
../yarr/yarr/RegexPattern.h:233:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    PatternAlternative(PatternDisjunction* disjunction)
    ^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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),
                                 ^
../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 ../jsparse.cpp:62:
In file included from ../jsarray.h: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),
                                 ^
../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 ../jsparse.cpp:62:
In file included from ../jsarray.h: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),
                                 ^
../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 ../jsparse.cpp:62:
In file included from ../jsarray.h: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.cpp:1201:52: note: in instantiation of member function 'js::Vector::Vector' requested here
    js::Vector worklist(cx);
                                                   ^
../jsparse.cpp:5008:1: warning: function 'RebindLets' is not needed and will not be emitted [-Wunneeded-internal-declaration]
RebindLets(JSParseNode *pn, JSTreeContext *tc)
^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsparse.cpp:64:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsparse.cpp:64:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsparse.cpp:64:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsparse.cpp:64:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsparse.cpp:64:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsparse.cpp:64:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsparse.cpp:64:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsparse.cpp:64:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsparse.cpp:76:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsparse.cpp:76:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsparse.cpp:76:
../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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../jsparse.cpp:62:
In file included from ../jsarray.h: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 ../jsparse.cpp:64:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jsproxy.cpp:44:
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 ../jsprf.cpp:53:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
In file included from ../jsprf.cpp:53:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsprf.cpp:53:
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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsprf.cpp:53:
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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsprf.cpp:53:
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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsprf.cpp:53:
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsprf.cpp: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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsprf.cpp: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsprf.cpp: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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsprf.cpp: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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsproxy.cpp:44:
../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 ../jsproxy.cpp:44:
../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 ../jsproxy.cpp:49:
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 ../jsproxy.cpp:51:
../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 ../jsproxy.cpp:44:
In file included 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 ../jsproxy.cpp:44:
In file included 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 ../jsproxy.cpp:44:
In file included 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 ../jsproxy.cpp:44:
In file included 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 ../jsproxy.cpp:44:
In file included 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 ../jsproxy.cpp:44:
In file included 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 ../jsproxy.cpp:44:
In file included 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 ../jsproxy.cpp:44:
In file included 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 ../jsproxy.cpp:51:
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 ../jsproxy.cpp:44:
In file included 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 ../jsproxy.cpp:44:
In file included 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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsproxy.cpp:44:
In file included 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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsproxy.cpp:44:
In file included 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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsproxy.cpp:44:
In file included 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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsproxy.cpp:44:
In file included 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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsproxy.cpp:44:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsproxy.cpp:49:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsproxy.cpp:49:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsproxy.cpp:49:
../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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../jsproxy.cpp:44:
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;
             ^
11 warnings generated.
In file included from ../jsproxy.cpp:44:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
jsprobes.cpp
c++ -o jsprobes.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsprobes.pp ../jsprobes.cpp
In file included from ../jsprobes.cpp:36:
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 ../jsprobes.cpp:38:
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 ../jsprobes.cpp:39:
../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 ../jsprobes.cpp:39:
../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 ../jsprobes.cpp:38:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsprobes.cpp:38:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsprobes.cpp:38:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsprobes.cpp:38:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsprobes.cpp:38:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsprobes.cpp:38:
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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsprobes.cpp:38:
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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsprobes.cpp:38:
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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsprobes.cpp:38:
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsprobes.cpp:38:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsprobes.cpp:38:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsprobes.cpp:38:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsprobes.cpp:38:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsprobes.cpp:39:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsprobes.cpp:39:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsprobes.cpp:39:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsprobes.cpp:39:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsprobes.cpp:39:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsprobes.cpp:39:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsprobes.cpp:39:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsprobes.cpp:39:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
26 warnings generated.
jspropertycache.cpp
c++ -o jspropertycache.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jspropertycache.pp ../jspropertycache.cpp
In file included from ../jspropertycache.cpp:41:
In file included from ../jspropertycache.h:44:
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 ../jspropertycache.cpp:42:
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 ../jspropertycache.cpp:42:
../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 ../jspropertycache.cpp:42:
../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 ../jspropertycache.cpp:44:
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 ../jspropertycache.cpp:44:
../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);
                   ^
             (                                            )
../jspropertycache.cpp:316:5: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
    GET_ATOM_FROM_BYTECODE(cx->fp()->script(), pc, pcoff, atom);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsopcode.h:345:9: note: expanded from macro 'GET_ATOM_FROM_BYTECODE'
        JS_GET_SCRIPT_ATOM(script, pc, index_, atom);                         \
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.h:603:22: note: expanded from macro 'JS_GET_SCRIPT_ATOM'
            (atom) = COMMON_ATOMS_START(&cx->runtime->atomState)[index];      \
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../jspropertycache.cpp:42:
In file included 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 ../jspropertycache.cpp:42:
In file included 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 ../jspropertycache.cpp:42:
In file included 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 ../jspropertycache.cpp:42:
In file included 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 ../jspropertycache.cpp:42:
In file included 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 ../jspropertycache.cpp:42:
In file included 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 ../jspropertycache.cpp:42:
In file included 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 ../jspropertycache.cpp:42:
In file included 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 ../jspropertycache.cpp:44:
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 ../jspropertycache.cpp:42:
In file included 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 ../jspropertycache.cpp:42:
In file included 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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jspropertycache.cpp:42:
In file included 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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jspropertycache.cpp:42:
In file included 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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jspropertycache.cpp:42:
In file included 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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jspropertycache.cpp:42:
In file included 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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jspropertycache.cpp:42:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jspropertycache.cpp:44:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jspropertycache.cpp:44:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jspropertycache.cpp:44:
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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../jspropertycache.cpp:42:
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 ../jspropertycache.cpp:42:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
69 warnings generated.
jspropertytree.cpp
c++ -o jspropertytree.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jspropertytree.pp ../jspropertytree.cpp
40 warnings generated.
jsreflect.cpp
c++ -o jsreflect.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsreflect.pp ../jsreflect.cpp
In file included from ../jspropertytree.cpp:45:
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 ../jsreflect.cpp:45:
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 ../jspropertytree.cpp:46:
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 {
        ^
39 warnings generated.
jsregexp.cpp
c++ -o jsregexp.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsregexp.pp ../jsregexp.cpp
In file included from ../jsreflect.cpp:46:
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 ../jsregexp.cpp: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 ../jspropertytree.cpp:46:
../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 ../jspropertytree.cpp:46:
../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 ../jsreflect.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);
               ^~~~~~~~~~~~~~~~~~~
In file included from ../jspropertytree.cpp:49:
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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../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 ../jsreflect.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 ../jsreflect.cpp:53:
../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 ../jspropertytree.cpp:51:
../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 ../jspropertytree.cpp:46:
In file included 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 ../jspropertytree.cpp:46:
In file included 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)In file included from ../jsregexp.cpp:50:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
52:
../jsstr.h:138:9: warning: anonymous types declared in an anonymous union are an extension [-Wnested-anon-types]
        struct {
        ^
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jspropertytree.cpp:46:
In file included 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 ../jspropertytree.cpp:46:
In file included 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 ../jspropertytree.cpp:46:
In file included 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 ../jspropertytree.cpp:46:
In file included 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 ../jspropertytree.cpp:46:
In file included 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 ../jspropertytree.cpp:46:
In file included 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 ../jspropertytree.cpp:51:
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 ../jspropertytree.cpp:46:
In file included 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 ../jspropertytree.cpp:46:
In file included 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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jspropertytree.cpp:46:
In file included 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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jspropertytree.cpp:46:
In file included 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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jspropertytree.cpp:46:
In file included 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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jspropertytree.cpp:46:
In file included 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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jspropertytree.cpp:46:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jspropertytree.cpp:49:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jspropertytree.cpp:49:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jspropertytree.cpp:49:
../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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../jspropertytree.cpp:46:
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 ../jspropertytree.cpp:46:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jsreflect.cpp:63:
../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 ../jsregexp.cpp:50:
../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 ../jsregexp.cpp:50:
../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 ../jsregexp.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 ../jsreflect.cpp:46:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsreflect.cpp:46:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsreflect.cpp:46:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsreflect.cpp:46:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsreflect.cpp:46:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsreflect.cpp:46:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsreflect.cpp:46:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsreflect.cpp:46:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsreflect.cpp:46:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsreflect.cpp:63:
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 ../jsreflect.cpp:46:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsregexp.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 ../jsreflect.cpp:46:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsreflect.cpp:2328:30: note: in instantiation of member function 'js::Vector::Vector' requested here
    Vector list(cx);
                             ^
In file included from ../jsreflect.cpp:46:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsreflect.cpp:46:
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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsreflect.cpp:46:
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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsreflect.cpp:46:
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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsreflect.cpp:46:
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsreflect.cpp:46:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsreflect.cpp:46:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsreflect.cpp:46:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsreflect.cpp:46:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsreflect.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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsreflect.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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsreflect.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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsreflect.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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsreflect.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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsreflect.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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsreflect.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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsreflect.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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsreflect.cpp:63:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsreflect.cpp:63:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsreflect.cpp:63:
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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../jsreflect.cpp:46:
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 ../jsreflect.cpp:49:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
39 warnings generated.
jsscan.cpp
c++ -o jsscan.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsscan.pp ../jsscan.cpp
In file included from ../jsregexp.cpp:59:
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 ../jsscan.cpp:57:
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)
    ^
45 warnings generated.
jsscope.cpp
c++ -o jsscope.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsscope.pp ../jsscope.cpp
In file included from ../jsregexp.cpp:64:
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 ../jsregexp.cpp:64:
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 ../jsscan.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 ../jsscope.cpp:50:
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)
    ^
../jsregexp.cpp:371:24: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
        JSAtom *atom = OFFSET_TO_ATOM(cx->runtime, lazy.atomOffset);
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:454:35: note: expanded from macro 'OFFSET_TO_ATOM'
#define OFFSET_TO_ATOM(rt,off)  (*(JSAtom **)((char*)&(rt)->atomState + (off)))
                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsregexp.cpp:547:32: warning: cast from 'char *' to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
        jsid id = ATOM_TO_JSID(OFFSET_TO_ATOM(cx->runtime, lazy.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 ../jsregexp.cpp:50:
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 ../jsregexp.cpp:50:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../jsregexp.cpp:50:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../jsregexp.cpp:50:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from ../jsscan.cpp:62:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
In file included from ../jsregexp.cpp:50:
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 ../jsregexp.cpp:50:
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 ../jsregexp.cpp:50:
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 ../jsregexp.cpp:50:
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 ../jsregexp.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 ../jsregexp.cpp:50:
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)
                                       ^
../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 ../jsregexp.cpp:50:
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 ../jsregexp.cpp:50:
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:412: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 ../jsregexp.cpp:50:
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),
                                 ^
../yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from ../jsscan.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 ../jsregexp.cpp:50:
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),
                                 ^
../yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from ../jsregexp.cpp:50:
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),
                                 ^
../yarr/yarr/RegexPattern.h:233:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    PatternAlternative(PatternDisjunction* disjunction)
    ^
In file included from ../jsregexp.cpp:50:
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),
                                 ^
../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 ../jsregexp.cpp:50:
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),
                                 ^
../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 ../jsregexp.cpp:50:
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),
                                 ^
../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 ../jsregexp.cpp:50:
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.cpp:645:29: note: in instantiation of member function 'js::Vector::Vector' requested here
    js::Vector newChars(cx);
                            ^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsregexp.cpp:50:
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'In file included from ../jsscan.cpp:64:
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]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:400:1: note: expanded from here
        return (JSParseNode *)((char *)pn_tail - offsetof(JSParseNode, pn_next));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
js_static_assert37
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsregexp.cpp:50:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsregexp.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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsregexp.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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsregexp.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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../jsregexp.cpp:50:
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 ../jsregexp.cpp:50:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jsscope.cpp:55:
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 {
        ^
../jsscan.cpp:190:13: warning: array subscript is of type 'char' [-Wchar-subscripts]
    maybeEOL['\n'] = true;
            ^~~~~
../jsscan.cpp:191:13: warning: array subscript is of type 'char' [-Wchar-subscripts]
    maybeEOL['\r'] = true;
            ^~~~~
../jsscan.cpp:197:20: warning: array subscript is of type 'char' [-Wchar-subscripts]
    maybeStrSpecial['"'] = true;
                   ^~~~
../jsscan.cpp:198:20: warning: array subscript is of type 'char' [-Wchar-subscripts]
    maybeStrSpecial['\''] = true;
                   ^~~~~
../jsscan.cpp:199:20: warning: array subscript is of type 'char' [-Wchar-subscripts]
    maybeStrSpecial['\\'] = true;
                   ^~~~~
../jsscan.cpp:200:20: warning: array subscript is of type 'char' [-Wchar-subscripts]
    maybeStrSpecial['\n'] = true;
                   ^~~~~
../jsscan.cpp:201:20: warning: array subscript is of type 'char' [-Wchar-subscripts]
    maybeStrSpecial['\r'] = true;
                   ^~~~~
In file included from ../jsscope.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 ../jsscope.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 ../jsscan.cpp:61:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsscan.cpp:61:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsscan.cpp:61:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsscan.cpp:61:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsscan.cpp:61:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsscan.cpp:61:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsscan.cpp:61:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsscope.cpp:62:
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 ../jsscan.cpp:61:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsscan.cpp:61:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../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 ../jsscan.cpp:61:
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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsscan.cpp:61:
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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsscan.cpp:61:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsscan.cpp:61:
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsscan.cpp:61:
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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsscan.cpp:61:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsscan.cpp:61:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsscan.cpp:61:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsscan.cpp:61:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsscan.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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsscan.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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsscan.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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsscan.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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsscan.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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsscan.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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsscan.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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsscan.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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsscan.cpp:75:
In file included from ../jsscriptinlines.h:49:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsscan.cpp:75:
In file included from ../jsscriptinlines.h:49:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsscan.cpp:75:
In file included from ../jsscriptinlines.h:49:
../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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../jsscan.cpp:61:
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 ../jsscan.cpp:62:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jsscan.cpp:64:
In file included from ../jsemit.h:49:
In file included from ../jsparse.h:50:
../jsscan.h:512:26: warning: private field 'listenerTSData' is not used [-Wunused-private-field]
    void                *listenerTSData;/* listener data for this TokenStream */
                         ^
In file included from ../jsscope.cpp:64:
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 ../jsscope.cpp:64:
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 ../jsscope.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 ../jsscope.cpp:55:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscope.cpp:55:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscope.cpp:55:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscope.cpp:55:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscope.cpp:55:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscope.cpp:55:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscope.cpp:55:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscope.cpp:55:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscope.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 ../jsscope.cpp:55:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscope.cpp:55:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsscope.cpp:55:
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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsscope.cpp:55:
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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsscope.cpp:55:
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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsscope.cpp:55:
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsscope.cpp:55:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsscope.cpp:55:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsscope.cpp:55:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsscope.cpp:55:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsscope.cpp:56:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsscope.cpp:56:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsscope.cpp:56:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsscope.cpp:56:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsscope.cpp:56:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsscope.cpp:56:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsscope.cpp:56:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsscope.cpp:56:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsscope.cpp:62:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsscope.cpp:62:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsscope.cpp:62:
../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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../jsscope.cpp:55:
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 ../jsscope.cpp:56:
./dist/include/jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
41 warnings generated.
jsscript.cpp
c++ -o jsscript.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsscript.pp ../jsscript.cpp
In file included from ../jsscript.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)
    ^
45 warnings generated.
jsstr.cpp
c++ -o jsstr.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsstr.pp ../jsstr.cpp
53 warnings generated.
jstypedarray.cpp
c++ -o jstypedarray.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jstypedarray.pp ../jstypedarray.cpp
In file included from ../jsscript.cpp:50:
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 ../jsstr.cpp:55:
../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 ../jstypedarray.cpp: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 ../jsscript.cpp:51:
../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 ../jsscript.cpp:51:
../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 ../jsscript.cpp:54:
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 ../jsstr.cpp:59:
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 ../jstypedarray.cpp:48:
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 ../jsscript.cpp:63:
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 ../jsscript.cpp:63:
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 ../jsstr.cpp:62:
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 ../jsstr.cpp:62:
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 ../jstypedarray.cpp:51:
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 ../jstypedarray.cpp:51:
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 ../jsstr.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);
               ^~~~~~~~~~~~~~~~~~~
In file included from ../jstypedarray.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 ../jsscript.cpp:70:
../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 ../jsstr.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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../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 ../jstypedarray.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));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.cpp:193:17: warning: variable 'constFlag' set but not used [-Wunused-but-set-variable]
        jsuword constFlag = 0;
                ^
In file included from ../jsstr.cpp:72:
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));
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.cpp:1068:11: warning: cast from 'const char *' to 'ScriptFilenameEntry *' increases required alignment from 1 to 4 [-Wcast-align]
    sfe = FILENAME_TO_SFE(filename);
          ^~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.cpp:1053:6: note: expanded from macro 'FILENAME_TO_SFE'
    ((ScriptFilenameEntry *) ((fn) - offsetof(ScriptFilenameEntry, filename)))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.cpp:1078:11: warning: cast from 'const char *' to 'ScriptFilenameEntry *' increases required alignment from 1 to 4 [-Wcast-align]
    sfe = FILENAME_TO_SFE(filename);
          ^~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.cpp:1053:6: note: expanded from macro 'FILENAME_TO_SFE'
    ((ScriptFilenameEntry *) ((fn) - offsetof(ScriptFilenameEntry, filename)))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.cpp:1297:34: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
        script->atomMap.vector = (JSAtom **)cursor;
                                 ^~~~~~~~~~~~~~~~~
../jsscript.cpp:1310:37: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSObject **' increases required alignment from 1 to 4 [-Wcast-align]
        script->objects()->vector = (JSObject **)cursor;
                                    ^~~~~~~~~~~~~~~~~~~
../jsscript.cpp:1318:37: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSObject **' increases required alignment from 1 to 4 [-Wcast-align]
        script->regexps()->vector = (JSObject **)cursor;
                                    ^~~~~~~~~~~~~~~~~~~
../jsscript.cpp:1326:38: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSTryNote *' increases required alignment from 1 to 4 [-Wcast-align]
        script->trynotes()->vector = (JSTryNote *)cursor;
                                     ^~~~~~~~~~~~~~~~~~~
../jsscript.cpp:1336:37: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'GlobalSlotArray::Entry *' increases required alignment from 1 to 4 [-Wcast-align]
        script->globals()->vector = (GlobalSlotArray::Entry *)cursor;
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsscript.cpp:1344:31: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'uint32 *' (aka 'unsigned int *') increases required alignment from 1 to 4 [-Wcast-align]
        script->closedSlots = (uint32 *)cursor;
                              ^~~~~~~~~~~~~~~~
../jsscript.cpp:1364:36: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'js::Value *' increases required alignment from 1 to 8 [-Wcast-align]
        script->consts()->vector = (Value *)cursor;
                                   ^~~~~~~~~~~~~~~
In file included from ../jstypedarray.cpp:64:
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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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:412: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 ../jsscript.cpp:70:
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 ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsscript.cpp:50:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsscript.cpp:50:
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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsscript.cpp:50:
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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsscript.cpp:50:
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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsscript.cpp:50:
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsscript.cpp:50:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsscript.cpp:50:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsscript.cpp:50:
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
                                        ^
:412In file included from ../jstypedarray.cpp:1: note: expanded from here:64:
../jsobjinlines.h:
js_static_assert43
^
In file included from ../jsscript.cpp:50:
In file included from ../jsatom.h:52:
./dist/include/jsstr.h302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]:570:9: warning: 
unused typedef 'js_static_assert42' [-Wunused-local-typedef]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
        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'
../jsobjinlines.h:302    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
:20: note: place parentheses around the '+' expression to silence this warning
In file included from ../jsscript.cpp:51:
In file included from ./dist/include/jscntxt.h:62:
In file included from ../jsfun.h           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
: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'
../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsscript.cpp:51:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsscript.cpp:51:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsscript.cpp:51:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsscript.cpp:51:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsscript.cpp:51:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsscript.cpp:51:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsscript.cpp:51:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsscript.cpp:61:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsscript.cpp:61:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsscript.cpp:61:
../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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
../jsscript.cpp:713:9: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(tn->stackDepth) == sizeof(uint16));
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_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_assert67
^
../jsscript.cpp:712:9: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(tn->kind) == sizeof(uint8));
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:97:1: note: expanded from here
js_static_assert66
^
../jsscript.cpp:1289:5: warning: unused typedef 'js_static_assert78' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(JSObjectArray) +
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:121:1: note: expanded from here
js_static_assert78
^
In file included from ../jsscript.cpp:50:
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 ../jsscript.cpp:51:
./dist/include/jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jsstr.cpp:81:
../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 ../jstypedarray.cpp:48:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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 ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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 ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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 ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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 ../jstypedarray.cpp:48:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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 ../jstypedarray.cpp:64:
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 ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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 ../jsstr.cpp:82:
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 {
        ^
41 warnings generated.
jsutil.cpp
c++ -o jsutil.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsutil.pp ../jsutil.cpp
In file included from ../jsutil.cpp: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)
    ^
56 warnings generated.
jswrapper.cpp
c++ -o jswrapper.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jswrapper.pp ../jswrapper.cpp
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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'
1 warning generated.
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jstypedarray.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
                                        ^
:262:1: note: expanded from here
js_static_assert45
^
In file included from ../jstypedarray.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]
jsxdrapi.cpp
        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
                                        ^
:264:1: note: expanded from here
c++ -o jsxdrapi.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsxdrapi.pp ../jsxdrapi.cpp
js_static_assert46
^
In file included from ../jstypedarray.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
                                        ^
:266:1: note: expanded from here
js_static_assert47
^
In file included from ../jstypedarray.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
                                        ^
:268:1: note: expanded from here
js_static_assert48
^
In file included from ../jstypedarray.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
                                        ^
:284:1: note: expanded from here
js_static_assert56
^
In file included from ../jstypedarray.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
                                        ^
:286:1: note: expanded from here
js_static_assert57
^
In file included from ../jstypedarray.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
                                        ^
:292:1: note: expanded from here
js_static_assert60
^
In file included from ../jstypedarray.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../jsstr.cpp:2279:16:: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
 warning: implicit conversion of NULL constant to 'bool' [-Wnull-conversion]
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
        return NULL;
        ~~~~~~ ^~~~
               false
:290:1: note: expanded from here
js_static_assert59
^
In file included from ../jstypedarray.cpp:64:
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
                                        ^
:67:1: note: expanded from here
js_static_assert63
^
In file included from ../jstypedarray.cpp:64:
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
                                        ^
:69:1: note: expanded from here
js_static_assert64
^
In file included from ../jstypedarray.cpp:64:
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
                                        ^
:71:1: note: expanded from here
js_static_assert65
^
../jstypedarray.cpp:1351:5: warning: unused typedef 'js_static_assert68' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(NativeType) < 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
                                        ^
:88:1: note: expanded from here
js_static_assert68
^
In file included from ../jstypedarray.cpp:48:
In file included from ../jsarray.h: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 ../jstypedarray.cpp:52:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jsxdrapi.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 ../jswrapper.cpp: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 ../jsxdrapi.cpp:51:
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 ../jswrapper.cpp: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 ../jsxdrapi.cpp:51:
../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 ../jswrapper.cpp: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);
               ^~~~~~~~~~~~~~~~~~~
../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 ../jsxdrapi.cpp:51:
../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 ../jswrapper.cpp: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 ../jsxdrapi.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 ../jsxdrapi.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 ../jsxdrapi.cpp:51:
In file included 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 ../jsxdrapi.cpp:51:
In file included 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 ../jsxdrapi.cpp:51:
In file included 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 ../jsxdrapi.cpp:51:
In file included 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 ../jsxdrapi.cpp:51:
In file included 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 ../jsxdrapi.cpp:51:
In file included 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 ../jsxdrapi.cpp:51:
In file included 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 ../jsxdrapi.cpp:51:
In file included 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 ../jsxdrapi.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 ../jsxdrapi.cpp:51:
In file included 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 ../jsxdrapi.cpp:51:
In file included 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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsxdrapi.cpp:51:
In file included 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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsxdrapi.cpp:51:
In file included 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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsxdrapi.cpp:51:
In file included 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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsxdrapi.cpp:51:
In file included 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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsxdrapi.cpp:51:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsxdrapi.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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsxdrapi.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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsxdrapi.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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../jsxdrapi.cpp:51:
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 ../jsxdrapi.cpp:51:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jswrapper.cpp:48:
In file included from ../methodjit/PolyIC.h:50:
In file included from ../methodjit/BaseAssembler.h:53:
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 ../jswrapper.cpp:48:
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 ../jswrapper.cpp: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 ../jswrapper.cpp: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 ../jswrapper.cpp: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 ../jswrapper.cpp: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 ../jswrapper.cpp: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 ../jswrapper.cpp: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 ../jswrapper.cpp: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:412: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 ../jswrapper.cpp: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 ../jswrapper.cpp: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 ../jswrapper.cpp: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 ../jswrapper.cpp:48:
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 ../jswrapper.cpp: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 ../jswrapper.cpp: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),
                                 ^
../methodjit/BaseAssembler.h:206:9: note: in instantiation of member function 'js::Vector::Vector' requested here
      : callPatches(SystemAllocPolicy()),
        ^
In file included from ../jswrapper.cpp: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),
                                 ^
../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 ../jswrapper.cpp: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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jswrapper.cpp: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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jswrapper.cpp: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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jswrapper.cpp: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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jswrapper.cpp: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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jswrapper.cpp: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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jswrapper.cpp: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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jswrapper.cpp: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'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jswrapper.cpp: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jswrapper.cpp: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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jswrapper.cpp: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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jswrapper.cpp: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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jswrapper.cpp: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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jswrapper.cpp: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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jswrapper.cpp: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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jswrapper.cpp: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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jswrapper.cpp: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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jswrapper.cpp:48:
In file included from ../methodjit/PolyIC.h:50:
In file included from ../methodjit/BaseAssembler.h:53:
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
                                        ^
:185:1: note: expanded from here
js_static_assert63
^
In file included from ../jswrapper.cpp:48:
In file included from ../methodjit/PolyIC.h:50:
In file included from ../methodjit/BaseAssembler.h:53:
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
                                        ^
:187:1: note: expanded from here
js_static_assert64
^
In file included from ../jswrapper.cpp:48:
In file included from ../methodjit/PolyIC.h:50:
In file included from ../methodjit/BaseAssembler.h:53:
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
                                        ^
:189:1: note: expanded from here
js_static_assert65
^
In file included from ../jswrapper.cpp: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 ../jswrapper.cpp:43:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
39 warnings generated.
jsxml.cpp
c++ -o jsxml.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsxml.pp ../jsxml.cpp
57 warnings generated.
In file included from ../jsxml.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)
    ^
prmjtime.cpp
c++ -o prmjtime.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/prmjtime.pp ../prmjtime.cpp
In file included from ../prmjtime.cpp:51:
../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 ../jsxml.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 {
        ^
1 warning generated.
sharkctl.cpp
c++ -o sharkctl.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/sharkctl.pp ../sharkctl.cpp
jstracer.cpp
c++ -o jstracer.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jstracer.pp ../jstracer.cpp
In file included from ../jstracer.cpp:43:
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 ../jsxml.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 ../jsxml.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 ../jsxml.cpp:64:
../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 ../jstracer.cpp:58:
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 ../jstracer.cpp:58:
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 ../jsxml.cpp:76:
../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);
                   ^
             (                                            )
43 warnings generated.
Assembler.cpp
c++ -o Assembler.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/Assembler.pp ../nanojit/Assembler.cpp
In file included from ../jstracer.cpp:60:
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 ../nanojit/Assembler.cpp:40:
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 ../nanojit/Assembler.cpp:40:
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 ../jstracer.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 ../jstracer.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 ../jstracer.cpp:66:
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 ../jsxml.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsgc.h:926:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    GCHelperThread()
    ^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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 ../jsxml.cpp:53:
In file included from ../jsarray.h: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 ../jsxml.cpp:53:
In file included from ../jsarray.h: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 ../jsxml.cpp:53:
In file included from ../jsarray.h: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 ../jsxml.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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 ../jsxml.cpp:53:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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:412: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 ../jsxml.cpp:76:
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 ../jsxml.cpp:53:
In file included from ../jsarray.h: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)
                                       ^
../jsxml.cpp:110:1: warning: unused function 'js_LeaveLocalRootScopeWithResult' [-Wunused-function]
js_LeaveLocalRootScopeWithResult(JSContext *cx, jsval rval)
^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsxml.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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsxml.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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsxml.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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsxml.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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsxml.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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsxml.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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsxml.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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsxml.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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsxml.cpp:66:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsxml.cpp:66:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsxml.cpp:66:
../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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../jsxml.cpp:53:
In file included from ../jsarray.h: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 ../jsxml.cpp:56:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../jstracer.cpp:87:
../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);
                   ^
             (                                            )
../jstracer.cpp:2980:14: warning: cast from 'double *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        v = *(Value *)slot;
             ^~~~~~~~~~~~~
../jstracer.cpp:17359:20: warning: unused variable 'v' [-Wunused-variable]
        StackValue v = stackAt(-1);
                   ^
In file included from ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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:412: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 ../jstracer.cpp:87:
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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jstracer.cpp:2307:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    pendingGlobalSlotsToSet(cx),
    ^
In file included from ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jstracer.cpp:2310:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    tempTypeMap(cx),
    ^
2 warnings generated.
Allocator.cpp
c++ -o Allocator.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/Allocator.pp ../nanojit/Allocator.cpp
In file included from ../jstracer.cpp:43:
In file included from ../jsbit.h:44:
../jsutil.h:422:12: warning: destination for this 'memset' call is a pointer to dynamic class 'LogControl'; vtable pointer will be overwritten [-Wdynamic-class-memaccess]
    memset(t, 0, sizeof(T));
    ~~~~~~ ^
../jstracer.cpp:7712:5: note: in instantiation of function template specialization 'js::PodZero' requested here
    PodZero(&LogController);
    ^
../jsutil.h:422:12: note: explicitly cast the pointer to silence this warning
    memset(t, 0, sizeof(T));
           ^
           (void*)
../jstracer.cpp:1230:1: warning: unused function 'isFrameObjPtrTraceType' [-Wunused-function]
isFrameObjPtrTraceType(JSValueType t)
^
In file included from ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
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
                                        ^
:38:1: note: expanded from here
js_static_assert7
^
In file included from ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
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
                                        ^
:40:1: note: expanded from here
js_static_assert8
^
In file included from ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
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
                                        ^
:32:1: note: expanded from here
js_static_assert4
^
In file included from ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
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
                                        ^
:34:1: note: expanded from here
js_static_assert5
^
In file included from ../jstracer.cpp:60:
In file included from ../jsarray.h:47:
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
                                        ^
:36:1: note: expanded from here
js_static_assert6
^
In file included from ../jstracer.cpp:60:
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
                                        ^
:98:1: note: expanded from here
js_static_assert37
^
In file included from ../jstracer.cpp:60:
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
                                        ^
:106:1: note: expanded from here
js_static_assert41
^
In file included from ../jstracer.cpp:60:
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
                                        ^
:108:1: note: expanded from here
js_static_assert42
^
In file included from ../jstracer.cpp:60:
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
                                        ^
:110:1: note: expanded from here
js_static_assert43
^
In file included from ../jstracer.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
                                        ^
:194:1: note: expanded from here
js_static_assert46
^
In file included from ../jstracer.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
                                        ^
:192:1: note: expanded from here
js_static_assert45
^
In file included from ../jstracer.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
                                        ^
:198:1: note: expanded from here
js_static_assert48
^
In file included from ../jstracer.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
                                        ^
:196:1: note: expanded from here
js_static_assert47
^
In file included from ../jstracer.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
                                        ^
:214:1: note: expanded from here
js_static_assert56
^
In file included from ../jstracer.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
                                        ^
:216:1: note: expanded from here
js_static_assert57
^
In file included from ../jstracer.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
                                        ^
:222:1: note: expanded from here
js_static_assert60
^
In file included from ../jstracer.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
                                        ^
:220:1: note: expanded from here
js_static_assert59
^
In file included from ../jstracer.cpp:74:
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
                                        ^
:318:1: note: expanded from here
js_static_assert63
^
In file included from ../jstracer.cpp:74:
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
                                        ^
:320:1: note: expanded from here
js_static_assert64
^
In file included from ../jstracer.cpp:74:
../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
                                        ^
:322:1: note: expanded from here
js_static_assert65
^
../jstracer.cpp:2979:9: warning: unused typedef 'js_static_assert71' [-Wunused-local-typedef]
        JS_STATIC_ASSERT(sizeof(Value) == sizeof(double));
        ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:162:1: note: expanded from here
js_static_assert71
^
../jstracer.cpp:10118:5: warning: unused typedef 'js_static_assert74' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSID_TYPE_STRING == 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
                                        ^
:79:1: note: expanded from here
js_static_assert74
^
../jstracer.cpp:11186:5: warning: unused typedef 'js_static_assert76' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(((JS_TRUE & 1) ^ 1) << 1 == 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
                                        ^
:112:1: note: expanded from here
js_static_assert76
^
../jstracer.cpp:11187:5: warning: unused typedef 'js_static_assert77' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(((JS_FALSE & 1) ^ 1) << 1 == BUILTIN_ERROR);
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:114:1: note: expanded from here
js_static_assert77
^
../jstracer.cpp:12842:5: warning: unused typedef 'js_static_assert87' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(sizeof(jsid) == sizeof(void *));
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:95:1: note: expanded from here
js_static_assert87
^
In file included from ../jstracer.cpp:60:
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 ../jstracer.cpp:62:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
../jstracer.cpp:3053:16: warning: private field 'mCx' is not used [-Wunused-private-field]
    JSContext *mCx;
               ^
../jstracer.cpp:3143:24: warning: private field 'mInitTypeMap' is not used [-Wunused-private-field]
    const JSValueType *mInitTypeMap;
                       ^
../jstracer.cpp:3642:19: warning: private field 'mFp' is not used [-Wunused-private-field]
    JSStackFrame *mFp;
                  ^
../jstracer.cpp:4030:25: warning: private field 'mLirbuf' is not used [-Wunused-private-field]
    nanojit::LirBuffer *mLirbuf;
                        ^
In file included from ../nanojit/Allocator.cpp:40:
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 ../nanojit/Allocator.cpp:40:
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); \
              ^~~~~~~~~~~~~~~
2 warnings generated.
CodeAlloc.cpp
c++ -o CodeAlloc.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/CodeAlloc.pp ../nanojit/CodeAlloc.cpp
In file included from ../nanojit/CodeAlloc.cpp:40:
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 ../nanojit/CodeAlloc.cpp:40:
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); \
              ^~~~~~~~~~~~~~~
2 warnings generated.
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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()
    ^
Containers.cpp
c++ -o Containers.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/Containers.pp ../nanojit/Containers.cpp
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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 ../jsstr.cpp:59:
In file included from ../jsarray.h: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 ../jsstr.cpp:59:
In file included from ../jsarray.h: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 ../jsstr.cpp:59:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsregexp.h:167:14: note: in instantiation of member function 'js::Vector::Vector' requested here
    explicit RegExpStatics(InitBuffer) : bufferLink(NULL), copied(false) {}
             ^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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 ../jsstr.cpp:59:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jsstrinlines.h:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
  : cb(cx)
    ^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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 ../jsstr.cpp:59:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ../jsstr.h:56:
In file included from ../jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../assembler/jit/ExecutableAllocator.h:205:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    ExecutableAllocator() {}
    ^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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:412: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 ../jsstr.cpp:81:
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 ../jsstr.cpp:59:
In file included from ../jsarray.h: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 ../jsstr.cpp:59:
In file included from ../jsarray.h: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),
                                 ^
../yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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),
                                 ^
../yarr/yarr/RegexPattern.h:93:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    CharacterClass(CharacterClassTable *table)
    ^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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),
                                 ^
../yarr/yarr/RegexPattern.h:233:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    PatternAlternative(PatternDisjunction* disjunction)
    ^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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),
                                 ^
../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 ../jsstr.cpp:59:
In file included from ../jsarray.h: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),
                                 ^
../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 ../jsstr.cpp:59:
In file included from ../jsarray.h: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),
                                 ^
../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 ../jsstr.cpp:59:
In file included from ../jsarray.h: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),
                                 ^
../jsstr.cpp:1291:47: note: in instantiation of member function 'js::Vector::Vector' requested here
    Vector strs;
                                              ^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsstr.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
                                        ^
:262:1: note: expanded from here
js_static_assert45
^
In file included from ../jsstr.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
                                        ^
:264:1: note: expanded from here
js_static_assert46
^
In file included from ../jsstr.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
                                        ^
:268:1: note: expanded from here
js_static_assert48
^
In file included from ../jsstr.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
                                        ^
:266:1: note: expanded from here
js_static_assert47
^
In file included from ../jsstr.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
                                        ^
:284:1: note: expanded from here
js_static_assert56
^
In file included from ../jsstr.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
                                        ^
:286:1: note: expanded from here
js_static_assert57
^
In file included from ../jsstr.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
                                        ^
:290:1: note: expanded from here
js_static_assert59
^
In file included from ../jsstr.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
                                        ^
:292:1: note: expanded from here
js_static_assert60
^
In file included from ../jsstr.cpp:72:
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
                                        ^
:67:1: note: expanded from here
js_static_assert63
^
In file included from ../jsstr.cpp:72:
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
                                        ^
:69:1: note: expanded from here
js_static_assert64
^
In file included from ../jsstr.cpp:72:
../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
                                        ^
:71:1: note: expanded from here
js_static_assert65
^
../jsstr.cpp:119:5: warning: unused typedef 'js_static_assert68' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSString::MAX_LENGTH * sizeof(jschar) < UINT32_MAX);
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:86:1: note: expanded from here
js_static_assert68
^
../jsstr.cpp:3501:5: warning: unused typedef 'js_static_assert74' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSShortString::MAX_SHORT_STRING_LENGTH < CharBuffer::InlineLength);
    ^
../jsutil.h:120:21: note: expanded from macro 'JS_STATIC_ASSERT'
        typedef int JS_STATIC_ASSERT_GLUE(js_static_assert, __COUNTER__)[(cond) ? 1 : -1]
                    ^
../jsutil.h:118:40: note: expanded from macro 'JS_STATIC_ASSERT_GLUE'
    #define JS_STATIC_ASSERT_GLUE(x,y) JS_STATIC_ASSERT_GLUE1(x,y)
                                       ^
../jsutil.h:117:41: note: expanded from macro 'JS_STATIC_ASSERT_GLUE1'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:167:1: note: expanded from here
js_static_assert74
^
In file included from ../jsstr.cpp:59:
In file included from ../jsarray.h: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 ../jsstr.cpp:63:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../nanojit/Containers.cpp:40:
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 ../nanojit/Containers.cpp:40:
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); \
              ^~~~~~~~~~~~~~~
2 warnings generated.
Fragmento.cpp
c++ -o Fragmento.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/Fragmento.pp ../nanojit/Fragmento.cpp
In file included from ../nanojit/Fragmento.cpp:42:
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 ../nanojit/Fragmento.cpp:42:
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); \
              ^~~~~~~~~~~~~~~
2 warnings generated.
LIR.cpp
c++ -o LIR.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/LIR.pp ../nanojit/LIR.cpp
42 warnings generated.
njconfig.cpp
c++ -o njconfig.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/njconfig.pp ../nanojit/njconfig.cpp
In file included from ../nanojit/LIR.cpp:40:
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 ../nanojit/LIR.cpp:40:
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); \
              ^~~~~~~~~~~~~~~
../nanojit/LIR.cpp:384:34: warning: cast from 'const char *' to 'nanojit::LIns *' increases required alignment from 1 to 4 [-Wcast-align]
        return ins1(LIR_comment, (LIns*)str);
                                 ^~~~~~~~~~
In file included from ../nanojit/LIR.cpp:40:
In file included from ../nanojit/nanojit.h:376:
../nanojit/LIR.h:2150:33: warning: private field '_config' is not used [-Wunused-private-field]
        const Config&           _config;
                                ^
In file included from ../nanojit/njconfig.cpp:40:
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 ../nanojit/njconfig.cpp:40:
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); \
              ^~~~~~~~~~~~~~~
2 warnings generated.
RegAlloc.cpp
c++ -o RegAlloc.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/RegAlloc.pp ../nanojit/RegAlloc.cpp
In file included from ../nanojit/RegAlloc.cpp:40:
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 ../nanojit/RegAlloc.cpp:40:
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); \
              ^~~~~~~~~~~~~~~
2 warnings generated.
avmplus.cpp
c++ -o avmplus.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/avmplus.pp ../nanojit/avmplus.cpp
In file included from ../nanojit/avmplus.cpp:36:
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 ../nanojit/avmplus.cpp:36:
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); \
              ^~~~~~~~~~~~~~~
2 warnings generated.
Nativei386.cpp
c++ -o Nativei386.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/Nativei386.pp ../nanojit/Nativei386.cpp
In file included from ../nanojit/Nativei386.cpp:41:
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 ../nanojit/Nativei386.cpp:41:
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); \
              ^~~~~~~~~~~~~~~
../nanojit/Nativei386.cpp:1164:14: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            *(int32_t*)&branch[1] = offset - 5;
             ^~~~~~~~~~~~~~~~~~~~
../nanojit/Nativei386.cpp:1166:14: warning: cast from 'nanojit::NIns *' (aka 'unsigned char *') to 'int32_t *' (aka 'int *') increases required alignment from 1 to 4 [-Wcast-align]
            *(int32_t*)&branch[2] = offset - 6;
             ^~~~~~~~~~~~~~~~~~~~
4 warnings generated.
jsbuiltins.cpp
c++ -o jsbuiltins.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/jsbuiltins.pp ../jsbuiltins.cpp
In file included from ../jsbuiltins.cpp:44:
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 ../jsbuiltins.cpp:46:
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 ../jsbuiltins.cpp:48:
../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 ../jsbuiltins.cpp:48:
../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 ../jsbuiltins.cpp:57:
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 ../jsbuiltins.cpp:59:
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 ../jsbuiltins.cpp:59:
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 ../jsbuiltins.cpp:64:
../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 ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsbuiltins.cpp:64:
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 ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/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 ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../jsbuiltins.cpp:46:
In file included from ../jsarray.h:47:
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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../jsbuiltins.cpp:46:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../jsbuiltins.cpp:46:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../jsbuiltins.cpp:46:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../jsbuiltins.cpp:46:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../jsbuiltins.cpp:48:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../jsbuiltins.cpp:48:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../jsbuiltins.cpp:48:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../jsbuiltins.cpp:48:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../jsbuiltins.cpp:48:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../jsbuiltins.cpp:48:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../jsbuiltins.cpp:48:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../jsbuiltins.cpp:48:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../jsbuiltins.cpp:57:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../jsbuiltins.cpp:57:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../jsbuiltins.cpp:57:
../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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../jsbuiltins.cpp:46:
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 ../jsbuiltins.cpp:48:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
4 warnings generated.
VMPI.cpp
c++ -o VMPI.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/VMPI.pp ../nanojit/VMPI.cpp
In file included from ../nanojit/VMPI.cpp:35:
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 ../nanojit/VMPI.cpp:35:
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); \
              ^~~~~~~~~~~~~~~
2 warnings generated.
Writer.cpp
c++ -o Writer.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/Writer.pp ../tracejit/Writer.cpp
In file included from ../tracejit/Writer.cpp:41:
In file included from ../jstl.h:43:
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)
    ^
41 warnings generated.
MethodJIT.cpp
c++ -o MethodJIT.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/MethodJIT.pp ../methodjit/MethodJIT.cpp
In file included from ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
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 ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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 ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
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 ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
../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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
../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 ../tracejit/Writer.cpp:43:
In file included from ../tracejit/Writer.h:47:
In file included from ./dist/include/nanojit.h:379:
./dist/include/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()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./dist/include/Nativei386.h:219:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int16_t*)_nIns) = int16_t(i); \
              ^~~~~~~~~~~~~~~
In file included from ../tracejit/Writer.cpp:43:
In file included from ../tracejit/Writer.h:47:
In file included from ./dist/include/nanojit.h:379:
./dist/include/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()
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./dist/include/Nativei386.h:223:15: note: expanded from macro 'DECLARE_PLATFORM_ASSEMBLER'
            *((int32_t*)_nIns) = int32_t(i); \
              ^~~~~~~~~~~~~~~
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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 ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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 ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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 ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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 ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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'
    #define JS_STATIC_ASSERT_GLUE1(x,y) x##y
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../tracejit/Writer.cpp:42:
In file included from ../jscompartment.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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
42 warnings generated.
StubCalls.cpp
c++ -o StubCalls.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/StubCalls.pp ../methodjit/StubCalls.cpp
In file included from ../methodjit/MethodJIT.cpp:42:
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 ../methodjit/MethodJIT.cpp:42:
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 ../methodjit/StubCalls.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)
    ^
28 warnings generated.
Compiler.cpp
c++ -o Compiler.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  -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 -std=gnu++98 -fno-strict-aliasing -DNDEBUG -DTRIMMED -O3 -fstrict-aliasing -fomit-frame-pointer -DUSE_SYSTEM_MALLOC=1 -DENABLE_ASSEMBLER=1 -DENABLE_JIT=1   -DMOZILLA_CLIENT -include ./js-confdefs.h -MD -MF .deps/Compiler.pp ../methodjit/Compiler.cpp
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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 ../methodjit/StubCalls.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 ../methodjit/MethodJIT.cpp:43:
In file included from ../methodjit/BaseAssembler.h:53:
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 ../methodjit/StubCalls.cpp:41:
../jscntxt.h:271:16: warning: cast from 'const js::StackSegment *' to 'js::Value *' increases required alignment from 4 to 8 [-Wcast-align]
        return (Value *)(this + 1);
               ^~~~~~~~~~~~~~~~~~~
In file included from ../methodjit/MethodJIT.cpp:43:
In file included from ../methodjit/BaseAssembler.h:53:
../jsobjinlines.h:302:20: warning: operator '?:' has lower precedence than '+'; '+' will be evaluated first [-Wparentheses]
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
           ~~~~~~~ ^
../jsobjinlines.h:302:20: note: place parentheses around the '+' expression to silence this warning
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
                  )
../jsobjinlines.h:302:20: note: place parentheses around the '?:' expression to evaluate it first
           + isFun ? sizeof(JSFunction) : sizeof(JSObject);
                   ^
             (                                            )
../jscntxt.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 ../methodjit/StubCalls.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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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 ../methodjit/MethodJIT.cpp:44:
In file included from ../methodjit/Compiler.h:49:
In file included from ../methodjit/StubCompiler.h:47:
In file included from ../methodjit/FrameState.h:45:
../methodjit/FrameEntry.h:69:25: warning: passing 4-byte aligned argument to 8-byte aligned parameter 1 of 'Valueify' may result in an unaligned pointer access [-Walign-mismatch]
        return Valueify(JSVAL_FROM_LAYOUT(v_));
                        ^
../jsval.h:823:30: note: expanded from macro 'JSVAL_FROM_LAYOUT'
#define JSVAL_FROM_LAYOUT(l) ((l).asBits)
                             ^
In file included from ../methodjit/StubCalls.cpp:42:
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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
../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);
               ^~~~~~~~~~~~~~~~~~~
../methodjit/MethodJIT.cpp:318:5: error: expected '(' after 'asm'
asm VOLATILE (
    ^
../jscntxt.h:2179:14: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'JSAtom **' increases required alignment from 1 to 4 [-Wcast-align]
../methodjit/MethodJIT.cpp:318:4:           ? COMMON_ATOMS_START(&cx->runtime->atomState)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../jsatom.h:445:6: note: expanded from macro 'COMMON_ATOMS_START'
 error: expected ';' after top-level asm block
    ((JSAtom **)((uint8 *)(state) + ATOM_OFFSET_START))
     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
asm VOLATILE (
   ^
   ;
../methodjit/MethodJIT.cpp:318:5: error: C++ requires a type specifier for all declarations
asm VOLATILE (
    ^
../methodjit/MethodJIT.cpp:348:5: error: expected '(' after 'asm'
asm VOLATILE (
    ^
../methodjit/MethodJIT.cpp:348:4: error: expected ';' after top-level asm block
asm VOLATILE (
   ^
   ;
../methodjit/MethodJIT.cpp:348:5: error: C++ requires a type specifier for all declarations
asm VOLATILE (
    ^
../methodjit/MethodJIT.cpp:366:5: error: expected '(' after 'asm'
asm VOLATILE (
    ^
../methodjit/MethodJIT.cpp:366:4: error: expected ';' after top-level asm block
asm VOLATILE (
   ^
   ;
../methodjit/MethodJIT.cpp:366:5: error: C++ requires a type specifier for all declarations
asm VOLATILE (
    ^
../methodjit/MethodJIT.cpp:397:5: error: expected '(' after 'asm'
asm VOLATILE (
    ^
../methodjit/MethodJIT.cpp:397:4: error: expected ';' after top-level asm block
asm VOLATILE (
   ^
   ;
../methodjit/MethodJIT.cpp:397:5: error: C++ requires a type specifier for all declarations
asm VOLATILE (
    ^
../methodjit/MethodJIT.cpp:824:12: warning: cast from 'char *' to 'js::mjit::NativeMapEntry *' increases required alignment from 1 to 4 [-Wcast-align]
    return (NativeMapEntry *)((char*)this + sizeof(JITScript));
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/MethodJIT.cpp:837:12: warning: cast from 'char *' to 'ic::GetGlobalNameIC *' increases required alignment from 1 to 4 [-Wcast-align]
    return (ic::GetGlobalNameIC *)nmapSectionLimit();
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/MethodJIT.cpp:843:12: warning: cast from 'char *' to 'ic::SetGlobalNameIC *' increases required alignment from 1 to 8 [-Wcast-align]
    return (ic::SetGlobalNameIC *)((char *)nmapSectionLimit() +
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/MethodJIT.cpp:850:12: warning: cast from 'char *' to 'ic::CallICInfo *' increases required alignment from 1 to 4 [-Wcast-align]
    return (ic::CallICInfo *)((char *)setGlobalNames() +
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/MethodJIT.cpp:857:12: warning: cast from 'char *' to 'ic::EqualityICInfo *' increases required alignment from 1 to 8 [-Wcast-align]
    return (ic::EqualityICInfo *)((char *)callICs() + sizeof(ic::CallICInfo) * nCallICs);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/MethodJIT.cpp:863:12: warning: cast from 'char *' to 'ic::TraceICInfo *' increases required alignment from 1 to 4 [-Wcast-align]
    return (ic::TraceICInfo *)((char *)equalityICs() + sizeof(ic::EqualityICInfo) * nEqualityICs);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/MethodJIT.cpp:883:12: warning: cast from 'char *' to 'ic::GetElementIC *' increases required alignment from 1 to 8 [-Wcast-align]
    return (ic::GetElementIC *)monoICSectionsLimit();
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/MethodJIT.cpp:889:12: warning: cast from 'char *' to 'ic::SetElementIC *' increases required alignment from 1 to 8 [-Wcast-align]
    return (ic::SetElementIC *)((char *)getElems() + sizeof(ic::GetElementIC) * nGetElems);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/MethodJIT.cpp:895:12: warning: cast from 'char *' to 'ic::PICInfo *' increases required alignment from 1 to 8 [-Wcast-align]
    return (ic::PICInfo *)((char *)setElems() + sizeof(ic::SetElementIC) * nSetElems);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/MethodJIT.cpp:914:12: warning: cast from 'char *' to 'js::mjit::CallSite *' increases required alignment from 1 to 4 [-Wcast-align]
    return (js::mjit::CallSite *)polyICSectionsLimit();
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
../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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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),
                                 ^
./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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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),
                                 ^
./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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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),
                                 ^
./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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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:412: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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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 ../methodjit/MethodJIT.cpp:43:
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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
In file included from ./dist/include/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 ../methodjit/MethodJIT.cpp:39:
In file included from ../methodjit/MethodJIT.h:42:
./dist/include/jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
36 warnings and 12 errors generated.
gmake[4]: *** [../config/rules.mk:1477: MethodJIT.o] Error 1
gmake[4]: *** Waiting for unfinished jobs....
In file included from ../methodjit/Compiler.cpp:45:
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 ../methodjit/StubCalls.cpp:53:
In file included from ../methodjit/Compiler.h:47:
In file included from ../methodjit/CodeGenIncludes.h:63:
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 ../methodjit/StubCalls.cpp:53:
In file included from ../methodjit/Compiler.h:49:
In file included from ../methodjit/StubCompiler.h:47:
In file included from ../methodjit/FrameState.h:45:
../methodjit/FrameEntry.h:69:25: warning: passing 4-byte aligned argument to 8-byte aligned parameter 1 of 'Valueify' may result in an unaligned pointer access [-Walign-mismatch]
        return Valueify(JSVAL_FROM_LAYOUT(v_));
                        ^
../jsval.h:823:30: note: expanded from macro 'JSVAL_FROM_LAYOUT'
#define JSVAL_FROM_LAYOUT(l) ((l).asBits)
                             ^
In file included from ../methodjit/StubCalls.cpp:55:
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 ../methodjit/StubCalls.cpp:55:
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 ../methodjit/Compiler.cpp:47:
In file included from ../methodjit/Compiler.h:47:
In file included from ../methodjit/CodeGenIncludes.h:63:
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 ../methodjit/Compiler.cpp:47:
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)
                             ^
../methodjit/Compiler.cpp:478:31: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'js::mjit::NativeMapEntry *' increases required alignment from 1 to 4 [-Wcast-align]
    NativeMapEntry *jitNmap = (NativeMapEntry *)cursor;
                              ^~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/Compiler.cpp:497:44: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'ic::GetGlobalNameIC *' increases required alignment from 1 to 4 [-Wcast-align]
    ic::GetGlobalNameIC *getGlobalNames_ = (ic::GetGlobalNameIC *)cursor;
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/Compiler.cpp:512:44: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'ic::SetGlobalNameIC *' increases required alignment from 1 to 8 [-Wcast-align]
    ic::SetGlobalNameIC *setGlobalNames_ = (ic::SetGlobalNameIC *)cursor;
                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/Compiler.cpp:545:34: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'ic::CallICInfo *' increases required alignment from 1 to 4 [-Wcast-align]
    ic::CallICInfo *jitCallICs = (ic::CallICInfo *)cursor;
                                 ^~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/Compiler.cpp:604:42: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'ic::EqualityICInfo *' increases required alignment from 1 to 8 [-Wcast-align]
    ic::EqualityICInfo *jitEqualityICs = (ic::EqualityICInfo *)cursor;
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/Compiler.cpp:625:36: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'ic::TraceICInfo *' increases required alignment from 1 to 4 [-Wcast-align]
    ic::TraceICInfo *jitTraceICs = (ic::TraceICInfo *)cursor;
                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/Compiler.cpp:665:37: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'ic::GetElementIC *' increases required alignment from 1 to 8 [-Wcast-align]
    ic::GetElementIC *jitGetElems = (ic::GetElementIC *)cursor;
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/Compiler.cpp:693:37: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'ic::SetElementIC *' increases required alignment from 1 to 8 [-Wcast-align]
    ic::SetElementIC *jitSetElems = (ic::SetElementIC *)cursor;
                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/Compiler.cpp:733:28: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'ic::PICInfo *' increases required alignment from 1 to 8 [-Wcast-align]
    ic::PICInfo *jitPics = (ic::PICInfo *)cursor;
                           ^~~~~~~~~~~~~~~~~~~~~
../methodjit/Compiler.cpp:768:25: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'double *' increases required alignment from 1 to 4 [-Wcast-align]
    double *doubleVec = (double *)(result + doubleOffset);
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../methodjit/Compiler.cpp:801:30: warning: cast from 'uint8 *' (aka 'unsigned char *') to 'js::mjit::CallSite *' increases required alignment from 1 to 4 [-Wcast-align]
    CallSite *jitCallSites = (CallSite *)cursor;
                             ^~~~~~~~~~~~~~~~~~
54 warnings generated.
In file included from ../methodjit/StubCalls.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 ../methodjit/StubCalls.cpp:41:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3294:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, VALVECTOR)
          ^
In file included from ../methodjit/StubCalls.cpp:41:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3313:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, IDVECTOR)
          ^
In file included from ../methodjit/StubCalls.cpp:41:
In file included from ../jscntxt.h:59:
In file included from ../jsatom.h:52:
In file included from ./dist/include/jsstr.h:56:
In file included from ./dist/include/jsobj.h:65:
../jsvector.h:394:34: warning: field 'storage' is uninitialized when used here [-Wuninitialized]
  : AllocPolicy(ap), mBegin((T *)storage.addr()), mLength(0),
                                 ^
../jscntxt.h:3236:34: note: in instantiation of member function 'js::Vector::Vector' requested here
        : AutoGCRooter(cx, tag), vector(cx)
                                 ^
../jscntxt.h:3326:11: note: in instantiation of member function 'js::AutoVectorRooter::AutoVectorRooter' requested here
        : AutoVectorRooter(cx, SHAPEVECTOR)
          ^
In file included from ../methodjit/StubCalls.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 ../methodjit/StubCalls.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 ../methodjit/StubCalls.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 ../methodjit/StubCalls.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 ../methodjit/StubCalls.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 ../methodjit/StubCalls.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:412: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 ../methodjit/StubCalls.cpp:53:
In file included from ../methodjit/Compiler.h:47:
In file included from ../methodjit/CodeGenIncludes.h:63:
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 ../methodjit/StubCalls.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 ../methodjit/StubCalls.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 ../methodjit/StubCalls.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 ../methodjit/StubCalls.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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../methodjit/StubCalls.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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../methodjit/StubCalls.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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../methodjit/StubCalls.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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../methodjit/StubCalls.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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../methodjit/StubCalls.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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../methodjit/StubCalls.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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../methodjit/StubCalls.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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../methodjit/StubCalls.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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../methodjit/StubCalls.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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../methodjit/StubCalls.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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../methodjit/StubCalls.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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../methodjit/StubCalls.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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../methodjit/StubCalls.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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../methodjit/StubCalls.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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../methodjit/StubCalls.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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../methodjit/StubCalls.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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../methodjit/StubCalls.cpp:42:
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
                                        ^
:176:1: note: expanded from here
js_static_assert63
^
In file included from ../methodjit/StubCalls.cpp:42:
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
                                        ^
:178:1: note: expanded from here
js_static_assert64
^
In file included from ../methodjit/StubCalls.cpp:42:
../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
                                        ^
:180:1: note: expanded from here
js_static_assert65
^
In file included from ../methodjit/StubCalls.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 ../methodjit/StubCalls.cpp:41:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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:412: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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:47:
In file included from ../methodjit/Compiler.h:47:
In file included from ../methodjit/CodeGenIncludes.h:63:
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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:98:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    branchPatches(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:100:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    getGlobalNames(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:101:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    setGlobalNames(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:102:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    callICs(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:103:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    equalityICs(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:104:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    traceICs(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:107:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    pics(CompilerAllocPolicy(cx, *thisFromCtor())), 
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:108:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    getElemICs(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:109:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    setElemICs(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:111:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    callPatches(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:112:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    callSites(CompilerAllocPolicy(cx, *thisFromCtor())), 
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:113:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    doubleList(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:114:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    jumpTables(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/Compiler.cpp:115:5: note: in instantiation of member function 'js::Vector::Vector' requested here
    jumpTableOffsets(CompilerAllocPolicy(cx, *thisFromCtor())),
    ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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/MethodJIT.h:300:8: note: in instantiation of member function 'js::Vector::Vector' requested here
struct JITScript {
       ^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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
                                        ^
:334:1: note: expanded from here
js_static_assert4
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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
                                        ^
:336:1: note: expanded from here
js_static_assert5
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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
                                        ^
:338:1: note: expanded from here
js_static_assert6
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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
                                        ^
:340:1: note: expanded from here
js_static_assert7
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
In file included 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
                                        ^
:342:1: note: expanded from here
js_static_assert8
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:400:1: note: expanded from here
js_static_assert37
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:412:1: note: expanded from here
js_static_assert43
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:410:1: note: expanded from here
js_static_assert42
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:408:1: note: expanded from here
js_static_assert41
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:50:1: note: expanded from here
js_static_assert45
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:52:1: note: expanded from here
js_static_assert46
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:56:1: note: expanded from here
js_static_assert48
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:54:1: note: expanded from here
js_static_assert47
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:72:1: note: expanded from here
js_static_assert56
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:74:1: note: expanded from here
js_static_assert57
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:80:1: note: expanded from here
js_static_assert60
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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
                                        ^
:78:1: note: expanded from here
js_static_assert59
^
In file included from ../methodjit/Compiler.cpp:47:
In file included from ../methodjit/Compiler.h:47:
In file included from ../methodjit/CodeGenIncludes.h:63:
In file included from ../methodjit/BaseAssembler.h:53:
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
                                        ^
:185:1: note: expanded from here
js_static_assert63
^
In file included from ../methodjit/Compiler.cpp:47:
In file included from ../methodjit/Compiler.h:47:
In file included from ../methodjit/CodeGenIncludes.h:63:
In file included from ../methodjit/BaseAssembler.h:53:
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
                                        ^
:187:1: note: expanded from here
js_static_assert64
^
In file included from ../methodjit/Compiler.cpp:47:
In file included from ../methodjit/Compiler.h:47:
In file included from ../methodjit/CodeGenIncludes.h:63:
In file included from ../methodjit/BaseAssembler.h:53:
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
                                        ^
:189:1: note: expanded from here
js_static_assert65
^
../methodjit/Compiler.cpp:1123:13: warning: unused typedef 'js_static_assert66' [-Wunused-local-typedef]
            JS_STATIC_ASSERT(JSOP_LT_LENGTH == JSOP_GE_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
                                        ^
:207:1: note: expanded from here
js_static_assert66
^
../methodjit/Compiler.cpp:1124:13: warning: unused typedef 'js_static_assert67' [-Wunused-local-typedef]
            JS_STATIC_ASSERT(JSOP_LE_LENGTH == JSOP_GE_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
                                        ^
:209:1: note: expanded from here
js_static_assert67
^
../methodjit/Compiler.cpp:1125:13: warning: unused typedef 'js_static_assert68' [-Wunused-local-typedef]
            JS_STATIC_ASSERT(JSOP_GT_LENGTH == JSOP_GE_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
                                        ^
:211:1: note: expanded from here
js_static_assert68
^
../methodjit/Compiler.cpp:1126:13: warning: unused typedef 'js_static_assert69' [-Wunused-local-typedef]
            JS_STATIC_ASSERT(JSOP_EQ_LENGTH == JSOP_GE_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
                                        ^
:213:1: note: expanded from here
js_static_assert69
^
../methodjit/Compiler.cpp:1127:13: warning: unused typedef 'js_static_assert70' [-Wunused-local-typedef]
            JS_STATIC_ASSERT(JSOP_NE_LENGTH == JSOP_GE_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
                                        ^
:215:1: note: expanded from here
js_static_assert70
^
../methodjit/Compiler.cpp:2911:5: warning: unused typedef 'js_static_assert71' [-Wunused-local-typedef]
    JS_STATIC_ASSERT(JSOP_SETNAME_LENGTH == JSOP_SETPROP_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
                                        ^
:111:1: note: expanded from here
js_static_assert71
^
In file included from ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
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 ../methodjit/Compiler.cpp:42:
In file included from ../methodjit/MethodJIT.h:42:
../jscntxt.h:250:26: warning: private field 'padding' is not used [-Wunused-private-field]
    void                *padding;
                         ^
In file included from ../methodjit/Compiler.cpp:58:
../methodjit/InlineFrameAssembler.h:79:17: warning: private field 'pc' is not used [-Wunused-private-field]
    jsbytecode *pc;             // bytecode location at the caller call site
                ^
46 warnings generated.
59 warnings generated.
79 warnings generated.
47 warnings generated.
gmake[4]: Leaving directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release'
gmake[3]: *** [../config/rules.mk:754: default] Error 2
gmake[3]: Leaving directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88/deps/mozilla/js/src/build-release'
gmake[2]: *** [libjs.make:45: deps/mozilla/js/src/build-release/build_stamp] Error 2
gmake[2]: Leaving directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88'
gmake[1]: *** [Makefile:117: LIBJS] Error 2
gmake[1]: Leaving directory '/magus/work/usr/mports/games/oolite/work/oolite-source-1.88'
===> 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/games/oolite

Links

Depends On

Depend Of

Nothing

Categories

CVEs

  • Loading CVE information...

LLM Analysis