inline void f1(const char* fmt, ...) { __builtin_va_list args; __builtin_va_start(args, fmt); } struct non_trivial_dtor { ~non_trivial_dtor(); }; struct implicit_dtor { non_trivial_dtor d; }; struct uninst_implicit_dtor { non_trivial_dtor d; }; inline void use_implicit_dtor() { implicit_dtor d; } template void inst() { } inline void inst_decl() { // cause inst's declaration to be instantiated, without a definition. (void)sizeof(&inst); inst(); } __attribute__((always_inline)) inline void always_inl() { } asm("narf");