uses clang to instantiate templates