Thread View: gnu.g++.lib.bug
1 messages
1 total messages
Started by Magnus Nordborg
Wed, 04 Nov 1992 03:57
GCC-2.3.1 fails to build libg++2.2 under NeXTstep 3.0
Author: Magnus Nordborg
Date: Wed, 04 Nov 1992 03:57
Date: Wed, 04 Nov 1992 03:57
116 lines
5424 bytes
5424 bytes
I'm trying to build libg++2.2 on a NeXT running NeXTstep 3.0 using a
freshly installed gcc-2.3.1. The compile fails due to parse error.
I did:
# ./configure next
Created "Makefile" in /usr/local/src/libg++-2.2
# cd libg++
# make all CFLAGS='-g -O2'
rootme=`pwd` ; export rootme; CC="`if [ -f ${rootme}/../gcc/gcc ] ; then
echo ${rootme}/../gcc/gcc\\ -B${rootme}/../gcc/ ; else echo gcc ; fi` `if
[ -f ${rootme}/../gcc/gcc ] ; then echo -I${rootme}/../gcc/include ;
else echo ; fi`"; export CC; utils/gen-params >tmp-params.h
mv tmp-params.h _G_config.h
gcc -g -O2 -nostdinc++ -I.. -I. -I./../iostream -I./../g++-include -c
AllocRing.cc
gcc -g -O2 -nostdinc++ -I.. -I. -I./../iostream -I./../g++-include -c
Obstack.cc
gcc -g -O2 -nostdinc++ -I.. -I. -I./../iostream -I./../g++-include -c
builtin.cc
gcc -g -O2 -nostdinc++ -I.. -I. -I./../iostream -I./../g++-include -c
regex.cc
gcc -g -O2 -nostdinc++ -I.. -I. -I./../iostream -I./../g++-include -c
Regex.cc
Regex.cc: In method `Regex::Regex (const char *, int (= 0 ), int (= 40
), const char * (= 0 ))':
Regex.cc:52: warning: ANSI C++ forbids implicit conversion from `void *'
in assignment
Regex.cc:59: warning: ANSI C++ forbids implicit conversion from `void *'
in assignment
gcc -g -O2 -nostdinc++ -I.. -I. -I./../iostream -I./../g++-include -c
String.cc
In file included from ./../iostream/iostream.h:25, from
/../iostream/stream.h:7, from ./String.h:26, from String.cc:25:
/../iostream/streambuf.h:359: warning: type specifier omitted for
parameter
/../iostream/streambuf.h:359: parse error before `,'
/../iostream/streambuf.h:360: warning: type specifier omitted for
parameter
/../iostream/streambuf.h:360: parse error before `)'
In file included from ./../iostream/stream.h:7, from ./String.h:26, from
String.cc:25:
/../iostream/iostream.h:60: warning: type specifier omitted for parameter
/../iostream/iostream.h:60: parse error before `)'
/../iostream/iostream.h:152: warning: type specifier omitted for
parameter
/../iostream/iostream.h:152: parse error before `)'
/../iostream/iostream.h:225: warning: type specifier omitted for
parameter
/../iostream/iostream.h:225: parse error before `)'
/../iostream/iostream.h:247: warning: type specifier omitted for
parameter
/../iostream/iostream.h:247: parse error before `)'
/../iostream/iostream.h: In method `class streambuf::istream&
iostream::vscan (...)':
/../iostream/iostream.h:226: `format' undeclared (first use this
function)
/../iostream/iostream.h:226: (Each undeclared identifier is reported only
once
/../iostream/iostream.h:226: for each function it appears in.)
/../iostream/iostream.h:226: `args' undeclared (first use this function)
/../iostream/iostream.h:226: warning: control reaches end of non-void
function
/../iostream/iostream.h: In method `class ostream& iostream::vform
(...)':
/../iostream/iostream.h:248: `format' undeclared (first use this
function)
/../iostream/iostream.h:248: `args' undeclared (first use this function)
/../iostream/iostream.h:248: warning: control reaches end of non-void
function
*** Exit 1
Stop.
*** Exit 1
Stop.
The offending lines 359-360 in "./../iostream/streambuf.h" are:
int vscan(char const *fmt0, _G_va_list ap, ios::iostate* = NULL);
int vform(char const *fmt0, _G_va_list ap);
and the lines in "./../iostream/iostream.h" are:
60: ostream& vform(const char *format, _G_va_list args);
152: istream& vscan(const char *format, _G_va_list args);
225: istream& vscan(const char *format, _G_va_list args)
226: { return ((istream*)this)->vscan(format, args); }
247: ostream& vform(const char *format, _G_va_list args)
248: { return ((ostream*)this)->vform(format, args); }
I have examined the preprocessor output using the -E option:
# grep vscan /tmp/cpp.out
int vscan(char const *fmt0, __gnuc_va_list ap, ios::iostate* =
((void*)0) );
istream& vscan(const char *format, __gnuc_va_list args);
istream& vscan(const char *format, __gnuc_va_list args)
{ return ((istream*)this)->vscan(format, args); }
# grep vform /tmp/cpp.out
int vform(char const *fmt0, __gnuc_va_list ap);
ostream& vform(const char *format, __gnuc_va_list args);
ostream& vform(const char *format, __gnuc_va_list args)
{ return ((ostream*)this)->vform(format, args); }
The definition appears in /usr/local/src/libg++-2.2/libg++/_G_config.h:
#define _G_va_list __gnuc_va_list
Any hints? Thanks, Magnus
---
Magnus Nordborg
Department of Biological Sciences
Stanford University
magnus@fisher.stanford.edu (NeXT mail preferred)
+1 (415) 723-4952 (office)
+1 (415) 948-7321 (home)
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads