------- Comment #2 from rguenth at gcc dot gnu dot org 2007-06-27 14:17 ------- Reduced testcase:
static inline __attribute__((always_inline)) void __check_printsym_format(const char *fmt, ...) { } static inline __attribute__((always_inline)) void print_symbol(const char *fmt, unsigned long addr) { __check_printsym_format(fmt, ""); } void do_initcalls(void **call) { print_symbol(": %s()", (unsigned long) *call); } Now, if we make use of the passed variable arguments we would have hit t2.i: In function '__check_printsym_format': t2.i:2: sorry, unimplemented: function '__check_printsym_format' can never be inlined because it uses variable argument lists that we now hit this even if the varargs are unused is ... unfortunate. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32493