This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
[BUG] gcc-3.4.5-20050531 (i386): __FUNCTION__ as a part of the printf's format argument
- From: Denis Zaitsev <zzz at anda dot ru>
- To: gcc at gcc dot gnu dot org, linux-gcc at vger dot kernel dot org
- Date: Mon, 25 Jul 2005 14:41:32 +0600
- Subject: [BUG] gcc-3.4.5-20050531 (i386): __FUNCTION__ as a part of the printf's format argument
Such an example can't be compiled:
#include <stdio.h>
void x()
{
printf(__FUNCTION__ "\n");
}
$ gcc printf.c -o fprintf
printf.c: In function `x':
printf.c:5: error: syntax error before string constant
Then, the problem is not printf-specific and is not depend of
<stdio.h>. The next example gives the same error:
void y(const char *f, ...);
void z()
{
y(__FUNCTION__ "\n");
}
If some args are present in the ellipsis section (i.e. y(__FUNCTION__
": %s\n", "xxx")), the problem doesn't vanish. And, if __FILE__ is
used instead of __FUNCTION__, the problem is absent.