f1(const char * fmt,...)1ee123223SDavid Blaikieinline void f1(const char* fmt, ...) { 2ee123223SDavid Blaikie __builtin_va_list args; 3ee123223SDavid Blaikie __builtin_va_start(args, fmt); 49ffe5a35SDavid Blaikie } 5e6b7c28dSDavid Blaikie 6e6b7c28dSDavid Blaikie struct non_trivial_dtor { 7e6b7c28dSDavid Blaikie ~non_trivial_dtor(); 8e6b7c28dSDavid Blaikie }; 9e6b7c28dSDavid Blaikie 10e6b7c28dSDavid Blaikie struct implicit_dtor { 11e6b7c28dSDavid Blaikie non_trivial_dtor d; 12e6b7c28dSDavid Blaikie }; 13e6b7c28dSDavid Blaikie 14e6b7c28dSDavid Blaikie struct uninst_implicit_dtor { 15e6b7c28dSDavid Blaikie non_trivial_dtor d; 16e6b7c28dSDavid Blaikie }; 17e6b7c28dSDavid Blaikie use_implicit_dtor()18e6b7c28dSDavid Blaikieinline void use_implicit_dtor() { 19e6b7c28dSDavid Blaikie implicit_dtor d; 20e6b7c28dSDavid Blaikie } 21e6b7c28dSDavid Blaikie 22e6b7c28dSDavid Blaikie template <typename T> inst()23e6b7c28dSDavid Blaikievoid inst() { 24e6b7c28dSDavid Blaikie } 25e6b7c28dSDavid Blaikie inst_decl()26e6b7c28dSDavid Blaikieinline void inst_decl() { 27e6b7c28dSDavid Blaikie // cause inst<int>'s declaration to be instantiated, without a definition. 28e6b7c28dSDavid Blaikie (void)sizeof(&inst<int>); 29e6b7c28dSDavid Blaikie inst<float>(); 30e6b7c28dSDavid Blaikie } 31e60aa518SDavid Blaikie always_inl()32*1524e67fSDavid Blaikie__attribute__((always_inline)) inline void always_inl() { 33*1524e67fSDavid Blaikie } 34*1524e67fSDavid Blaikie 35e60aa518SDavid Blaikie asm("narf"); 36