Quoting a recent red "warning as error" build from mozilla-inbound:
cc1plus: warnings being treated as errors
/builds/slave/m-in-lnx64-dbg-spidermonkey-warnaserrdebug/src/js/src/nanojit/NativeX64.h: At global scope:
/builds/slave/m-in-lnx64-dbg-spidermonkey-warnaserrdebug/src/js/src/nanojit/NativeX64.h:347:31: error: 'nanojit::SavedRegs' defined but not used
/builds/slave/m-in-lnx64-dbg-spidermonkey-warnaserrdebug/src/js/src/nanojit/NativeX64.h:355:31: error: 'nanojit::SingleByteStoreRegs' defined but not used
mozilla-inbound_linux64-debug_spidermonkey-warnaserrdebug on 2011/09/01 00:12:02
It looks like there are a bunch of static const variables _defined_ (not declared) in this header, NativeX64.h, and those variables apparently trigger warnings for any .cpp files that #include NativeX64.h without using these variables.
Perhaps we should just be _declaring_ these variables in the header, and move their definitions to NativeX64.cpp? (In fact, that's the only place SingleByteStoreRegs is even referenced, so in that case the variable could move to the .cpp file entirely, if it made sense.)
Nanojit has been removed.