Use the non-standard typeof operator to avoid code generation errors with clang and use of uninitialized variable warnings with GCC and Coverity Scan. Update #3465.