| 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 <typename T> | |
| void inst() { | |
| } | |
| inline void inst_decl() { | |
| // cause inst<int>'s declaration to be instantiated, without a definition. | |
| (void)sizeof(&inst<int>); | |
| inst<float>(); | |
| } | |
| asm("narf"); |