I wonder what implications that has for dead code elimination or warnings.  Will e.g. clang warn us about dead code in a named namespace?  Or will it assume that since we're building a library (e.g. libavian.a or libjvm.so) it should be included just in case it's accessed from another compilation unit at link or run time?