Regression going from egcs-1.03 to egcs-19980824
Roberto Bagnara
bagnara@di.unipi.it
Thu Sep 3 06:34:00 GMT 1998
Hi there,
there seems to be a regression. The snippet below
is a reduced version of something that was generated
by a buggy macro.
The machine:
$ uname -a
Linux snoopy 2.0.32 #6 Sun Mar 22 22:05:21 CET 1998 i586 unknown
egcs-1.03:
$ /usr/local/bin/g++ -v
Reading specs from /usr/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.90.29/specs
gcc version egcs-2.90.29 980515 (egcs-1.0.3 release)
egcs-19980824:
$ /u/local/bin/g++ -v
Reading specs from /u/local/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.55/specs
gcc version egcs-2.91.55 19980824 (gcc2 ss-980609 experimental)
The (obviously incorrect) program:
$ cat bug1.cc
class X {
public:
X(const char* functor, int arity);
};
void foo(const char* functor, int arity)
{
X* bar = newarity X(functor, arity);
}
The result with egcs-1.03:
$ /usr/local/bin/g++ -c bug1.cc
bug1.cc: In function `void foo(const char *, int)':
bug1.cc:9: `newarity' undeclared (first use this function)
bug1.cc:9: (Each undeclared identifier is reported only once
bug1.cc:9: for each function it appears in.)
bug1.cc:9: parse error before `('
$ /u/local/bin/g++ -c bug1.cc
bug1.cc:9: sorry, not implemented: `type_decl' not supported by dump_expr
bug1.cc: In function `void foo(const char *, int)':
bug1.cc:9: cannot convert `{error}' from type `X' to type `X *'
bug1.cc:9: parse error before `('
Thanks for the great work,
Roberto
--
Roberto Bagnara
Department of Mathematics, University of Parma, Italy
http://www.di.unipi.it/~bagnara/bagnara.html
mailto:bagnara@di.unipi.it
More information about the Gcc-bugs
mailing list