This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: gcc 2.95.2 problem: alloca done within argument list evaluation, corrupts the rest of the argument list
- To: <gcc-bugs at gcc dot gnu dot org>
- Subject: Re: gcc 2.95.2 problem: alloca done within argument list evaluation, corrupts the rest of the argument list
- From: "Jose Luu" <jluu at mainsoft dot com>
- Date: Thu, 6 Jan 2000 23:50:15 +0100
The following construct is used by the attached test program (PASS/FAIL):
f (yyy((t1 = alloca(ALLOCA_SIZE),xxx(t1))), 2);
the second argument to f (the integer 2) is corrupted (the test program
outputs FAIL in this case).
We are unfortunate enough to have a significant amount of code that rely on
this construct to work. I am going to dig into this problem myself, but I
will welcome any help or information.
Regards
Jose Luu
Attached: command line and preprocessed test file.
Operating system is Linux SUSE 6.2, standard 2.95.2 compiler, plain
compilation and installation (./configure;make;make install)
/usr/local/bin/gcc -v --save-temps alloca-bug.c
Reading specs from /usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/specs
gcc version 2.95.2 19991024 (release)
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/cpp -lang-c -v -D__GNUC__=2
-D__GNUC_MINOR__=95 -D__ELF__ -Dunix -D__i386__ -Dlinux -D__ELF__ -D__unix__
-D__i386__ -D__linux__ -D__unix -D__linux -Asystem(posix) -Acpu(i386) -Amac
hine(i386) -Di386 -D__i386 -D__i386__ -Di586 -Dpentium -D__i586 -D__i586__ -
D__pentium -D__pentium__ alloca-bug.c alloca-bug.i
GNU CPP version 2.95.2 19991024 (release) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/../../../../i586-pc-linux-gn
u/include
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/include
/usr/include
End of search list.
The following default directories have been omitted from the search path:
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/../../../../include/g++-3
End of omitted list.
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/cc1
alloca-bug.i -quiet -dumpbase alloca-bug.c -version -o alloca-bug.s
GNU C version 2.95.2 19991024 (release) (i586-pc-linux-gnu) compiled by GNU
C version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release).
as -V -Qy -o alloca-bug.o alloca-bug.s
GNU assembler version 2.9.5 (i686-pc-linux-gnu) using BFD version 2.9.5.0.22
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/collect2 -m
elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/crtbegin.o -L/usr/local/lib/
gcc-lib/i586-pc-linux-gnu/2.95.2 -L/usr/local/i586-pc-linux-gnu/lib -L/usr/l
ocal/lib alloca-bug.o -lgcc -lc -lgcc
/usr/local/lib/gcc-lib/i586-pc-linux-gnu/2.95.2/crtend.o /usr/lib/crtn.o
alloca-bug.i.bz2