This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/32493] gcc-20070624 fails linux-kernel due to changed gcc-inlining
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 27 Jun 2007 14:17:05 -0000
- Subject: [Bug c/32493] gcc-20070624 fails linux-kernel due to changed gcc-inlining
- References: <bug-32493-11706@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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