Ensure C++ checkers actually instantiate templates.

When using -fsyntax-only, GCC checks mostly for syntax errors, doing
only quite basic analysis. It won't attempt to instantiate templates.
This is unlike Clang, which reports all warnings and errors, including
the errors, for example, deep in the bowels of some template code.

This changeset ensures both compilers will show errors on ill-formed
code, even in presence of templates.