bug report for egcs-1.0.3

Gerald Pfeifer pfeifer@dbai.tuwien.ac.at
Mon Jul 27 08:30:00 GMT 1998


On Fri, 24 Jul 1998, Mike Brennan wrote:
> Here is an internal compiler error report.

Thanks for the report.

> struct Foo {
> virtual bool is_foo() { return true ;}
> } ;
>
> void bar(Foo* f)
> {
>   if (f && f->is_foo) {}
> }

> t.C: In function `void bar(struct Foo *)':
> t.C:10: Internal compiler error.
> t.C:10: Please submit a full bug report to `egcs-bugs@cygnus.com'.


With a current snapshot of egcs on i386-unknown-freebsd2.2.6 I do not get
an internal compiler error but the following instead (which still looks
_very_ weird to me)!


x.cc: In function `void bar(struct Foo *)':
x.cc:8: warning: assuming & on `(f->Foo::_vptr$Foo + 8)->__vtbl_ptr_type::__pfn'
x.cc:8: cannot convert `(f->Foo::_vptr$Foo + 8)' from type `const __vtbl_ptr_type *' to type `bool (Foo::*)()'
x.cc:8: warning: assuming pointer to member function is non-virtual

Gerald
-- 
Gerald Pfeifer (Jerry)      Vienna University of Technology
pfeifer@dbai.tuwien.ac.at   http://www.dbai.tuwien.ac.at/~pfeifer/





More information about the Gcc-bugs mailing list