by default, Sun compilers optimize out the original test, and hence fail detecting a symbol is missing.