Article View: gnu.g++.lib.bug
Article #350Problems with gcc2.3.1 and iostream/(iostream|streambuf).h
From: David B. Teague
Date: Mon, 16 Nov 1992 21:59
Date: Mon, 16 Nov 1992 21:59
113 lines
5864 bytes
5864 bytes
I have been attempting to make what according to the README is libg++
2.1, using gcc 2.3.1, on a Gateway 486 box running Consensys sysV.4
(Double Yuck!).
This is done without the -O flag: with -O, the compiler apparently
generates multiple instances of labels, which the assembler balks at,
but that is a separate problem.
After the libg++ make output, I will include a test.cc program that David
Teague wrote to explore this, and the resulting error messages.
Note that there is nothing obviously wrong with these include files.
--Jim
tinuviel#cd /usr/local/libg++
tinuviel#make clean
/bin/sh ./config.status
Created "Makefile" in /usr/local/libg++ using "config/mh-sysv4"
./config.status is unchanged
[ STUFF DELETED ]
tinuviel#make all
rootme=`pwd` ; export rootme; CC="gcc `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 -nostdinc++ -I.. -I. -I./../iostream -I./../g++-include -c AllocRing.cc
gcc -g -nostdinc++ -I.. -I. -I./../iostream -I./../g++-include -c Obstack.cc
gcc -g -nostdinc++ -I.. -I. -I./../iostream -I./../g++-include -c builtin.cc
gcc -g -nostdinc++ -I.. -I. -I./../iostream -I./../g++-include -c regex.cc
Everything seems to be ok until here in the make:
gcc -g -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 -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
make[2]: *** [String.o] Error 1
make[1]: *** [in-src] Error 1
make: *** [all-libg++] Error 1
tinuviel#./config.status is unchanged
Created "Makefile" in /usr/local/libg++ using "config/mh-sysv4"
./config.status is unchanged
tinuviel#
test.cc:
#include "iostream.h"
struct T
{
int i = 5;
};
T t;
main ()
{
cout << t.i << "\n";
}
Here are the results:
In file included from iostream.h:25, from test.cc:1:
streambuf.h:359: warning: type specifier omitted for parameter
streambuf.h:359: parse error before `,'
streambuf.h:360: warning: type specifier omitted for parameter
streambuf.h:360: parse error before `)'
In file included from test.cc:1:
iostream.h:60: warning: type specifier omitted for parameter
iostream.h:60: parse error before `)'
iostream.h:152: warning: type specifier omitted for parameter
iostream.h:152: parse error before `)'
iostream.h:225: warning: type specifier omitted for parameter
iostream.h:225: parse error before `)'
iostream.h:247: warning: type specifier omitted for parameter
iostream.h:247: parse error before `)'
iostream.h: In method `class streambuf::istream& iostream::vscan (...)':
iostream.h:226: `format' undeclared (first use this function)
iostream.h:226: (Each undeclared identifier is reported only once
iostream.h:226: for each function it appears in.)
iostream.h:226: `args' undeclared (first use this function)
iostream.h:226: warning: control reaches end of non-void function
iostream.h: In method `class ostream& iostream::vform (...)':
iostream.h:248: `format' undeclared (first use this function)
iostream.h:248: `args' undeclared (first use this function)
iostream.h:248: warning: control reaches end of non-void function
Technical Details
Message-ID:
<1992Nov16.215937.4654@ncsu.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!convex!darwin.sura.net!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!adm.csc.ncsu.edu!dbtShow Full Headers
Complete Article Headers
Newsgroups: gnu.g++.lib.bug Path: arc1-ca.pugleaf.net!sparky!uunet!convex!darwin.sura.net!zaphod.mps.ohio-state.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!adm.csc.ncsu.edu!dbt From: dbt@adm.csc.ncsu.edu (David B. Teague) Subject: Problems with gcc2.3.1 and iostream/(iostream|streambuf).h Message-ID: <1992Nov16.215937.4654@ncsu.edu> Followup-To: bray@wcuvax1.wcu.edu Sender: gnulists@ai.mit.edu Organization: wcuvax1.wcu.edu (CS Dept, Western Carolina University) Distribution: gnu Date: Mon, 16 Nov 1992 21:59:37 GMT Approved: bug-lib-g++@prep.ai.mit.edu Lines: 114