This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

optimization/9503: GCC 3.2.1 -finline-functions -O failure inlining vararg funcs on FreeBSD


>Number:         9503
>Category:       optimization
>Synopsis:       GCC 3.2.1 -finline-functions -O failure inlining vararg funcs on FreeBSD
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Jan 29 20:36:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Bill Wendling
>Release:        gcc version 3.2.1
>Organization:
>Environment:
FreeBSD sleipnir.ncsa.uiuc.edu 4.7-STABLE FreeBSD 4.7-STABLE #0: Fri Jan  3 06:08:54 CST 2003     sukoziol@sleipnir.ncsa.uiuc.edu:/usr/obj/usr/src/sys/SLEIPNIR  i386
>Description:
It appears that functions with varargs are inlined when you specify the "-finline-functions -O" flags (also gives an error for -O1, -O2, etc. flags). The problem is that the compiler doesn't like having va_start used when the function has "fixed" arguments...so when the varargs function is expanded into the function with fixed arguments, we get an error.

Here's the error message (gotten from gcc -v <args>):

Reading specs from /usr/sdt/bin/../lib/gcc-lib/i386-portbld-freebsd4.7/3.2.1/specs
Configured with: ./..//gcc-3.2.1/configure --disable-nls --with-gnu-as --with-gnu-ld --with-gxx-include-dir=/usr/local/lib/gcc-lib/i386-portbld-freebsd4.7/3.2.1/include/g++-v3 --with-system-zlib --includedir=/usr/local/lib/gcc-lib/i386-portbld-freebsd4.7/3.2.1/include/Java --disable-libgcj --disable-shared --prefix=/usr/local i386-portbld-freebsd4.7
Thread model: posix
gcc version 3.2.1
 /usr/sdt/bin/../lib/gcc-lib/i386-portbld-freebsd4.7/3.2.1/cpp0 -lang-c -v -iprefix /usr/sdt/bin/../lib/gcc-lib/i386-portbld-freebsd4.7/3.2.1/ -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=1 -D__GXX_ABI_VERSION=102 -D__FreeBSD__=4 -Dunix -D__ELF__ -D__KPRINTF_ATTRIBUTE__ -D__FreeBSD__=4 -D__unix__ -D__ELF__ -D__KPRINTF_ATTRIBUTE__ -D__unix -Asystem=unix -Asystem=bsd -Asystem=FreeBSD -D__OPTIMIZE__ -D__STDC_HOSTED__=1 -Acpu=i386 -Amachine=i386 -Di386 -D__i386 -D__i386__ -D__tune_i386__ -D__ELF__ t.c t.i
GNU CPP version 3.2.1 (cpplib) (i386 FreeBSD/ELF)
ignoring nonexistent directory "/usr/sdt/i386-portbld-freebsd4.7/include"
ignoring nonexistent directory "/usr/local/i386-portbld-freebsd4.7/include"
ignoring duplicate directory "/usr/local/lib/gcc-lib/i386-portbld-freebsd4.7/3.2.1/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/sdt/lib/gcc-lib/i386-portbld-freebsd4.7/3.2.1/include
 /usr/local/include
 /usr/include
End of search list.
 /usr/sdt/bin/../lib/gcc-lib/i386-portbld-freebsd4.7/3.2.1/cc1 -fpreprocessed t.i -quiet -dumpbase t.c -O -version -finline-functions -o t.s
GNU CPP version 3.2.1 (cpplib) (i386 FreeBSD/ELF)
GNU C version 3.2.1 (i386-portbld-freebsd4.7)
	compiled by GNU C version 3.2.1.
t.c: In function `main':
t.c:8: `va_start' used in function with fixed args
>How-To-Repeat:
This problem only seems to affect me on FreeBSD systems with gcc-3.2.1. My GNU/Linux system with gcc-3.2.1 doesn't seem affected. All you need to do is compile the code with "-O -finline-functions" flags.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-bzip2; name="t.i.bz2"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="t.i.bz2"

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
gA==


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]