This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Problems building 3.3.2 on IRIX 6.5.19m
- From: Albert Chin <gcc at lists dot thewrittenword dot com>
- To: gcc at gcc dot gnu dot org
- Date: Fri, 17 Oct 2003 14:04:38 -0500
- Subject: Problems building 3.3.2 on IRIX 6.5.19m
- Reply-to: gcc at gcc dot gnu dot org
Ran into problems building 3.3.2 on IRIX 6.5.19m:
/opt/build/gcc-3.3.2-objdir/gcc/xgcc
-B/opt/build/gcc-3.3.2-objdir/gcc/
-B/opt/TWWfsw/gcc332/mips-sgi-irix6.5/bin/
-B/opt/TWWfsw/gcc332/mips-sgi-irix6.5/lib/ -isystem
/opt/TWWfsw/gcc332/mips-sgi-irix6.5/include -c -DSkip_f2c_Undefs
-DAllow_TYQUAD -I. -I/opt/build/gcc-3.3.2/libf2c/libI77 -I..
-I/opt/build/gcc-3.3.2/libf2c/libI77/.. -DHAVE_CONFIG_H -W -Wall -O2
-g /opt/build/gcc-3.3.2/libf2c/libI77/backspace.c -DPIC -o
.libs/backspace.o
In file included from
/opt/build/gcc-3.3.2-objdir/gcc/include/stdio.h:18,
from /opt/build/gcc-3.3.2/libf2c/libI77/fio.h:2,
from
/opt/build/gcc-3.3.2/libf2c/libI77/backspace.c:4:
/opt/build/gcc-3.3.2-objdir/gcc/include/internal/stdio_core.h: In
function `snprintf':
/opt/build/gcc-3.3.2-objdir/gcc/include/internal/stdio_core.h:310:
error: `va_list' undeclared (first use in this function)
/opt/build/gcc-3.3.2-objdir/gcc/include/internal/stdio_core.h:310:
error: (Each undeclared identifier is reported only once
/opt/build/gcc-3.3.2-objdir/gcc/include/internal/stdio_core.h:310:
error: for each function it appears in.)
/opt/build/gcc-3.3.2-objdir/gcc/include/internal/stdio_core.h:310:
error: parse error before "_ap"
/opt/build/gcc-3.3.2-objdir/gcc/include/internal/stdio_core.h:313:
error: `_ap' undeclared (first use in this function)
The problem is that in
/opt/build/gcc-3.3.2-objdir/gcc/include/internal/stdio_core.h we have:
static int
snprintf(char *_string, size_t _cnt, const char *_format, ...)
{
va_list _ap;
I looked at inclhack.def from 3.3.2 and see this:
fix = {
hackname = stdio_va_list;
files = stdio.h;
files = internal/stdio_core.h;
files = internal/wchar_core.h;
bypass = '__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list';
...
sed = "s@ va_list @ __gnuc_va_list @\n"
"s@ va_list)@ __gnuc_va_list)@\n"
"s@(va_list)&@(__gnuc_va_list)\\&@\n"
"s@ _VA_LIST_));@ __gnuc_va_list));@\n"
"s@ __VA_LIST__));@ __gnuc_va_list));@\n"
...
However, in GCC 3.3.1, inclhack.def looks like this:
fix = {
hackname = stdio_va_list;
files = stdio.h;
files = internal/stdio_core.h;
files = internal/wchar_core.h;
bypass = '__gnuc_va_list|_BSD_VA_LIST_|__DJ_va_list|_G_va_list';
...
sed = "s@ va_list @ __gnuc_va_list @\n"
"s@ va_list)@ __gnuc_va_list)@\n"
"s@va_list _ap;@__gnuc_va_list _ap;@\n"
"s@(va_list)&@(__gnuc_va_list)\\&@\n"
"s@ _VA_LIST_));@ __gnuc_va_list));@\n"
"s@ __VA_LIST__));@ __gnuc_va_list));@\n"
The only difference is that in 3.3.2, the following line was removed:
"s@va_list _ap;@__gnuc_va_list _ap;@\n"
Why? Adding this line back does make stdio_core.h under 3.3.2 correct.
--
albert chin (china@thewrittenword.com)