g++ internal compiler error 378

Martin v. Loewis martin@mira.isdn.cs.tu-berlin.de
Wed Jun 30 23:07:00 GMT 1999


>  egcs version egcs-2.91.66
>  running on SGI IRIX 6.2 (also happens on IRIX 6.5)

Thanks for your bug report. gcc-2.95 19990606 reports (cutting the path)

In file included from xdouble.h:465,
                 from bigint.h:25,
                 from galois_field.h:18,
                 from gf_p_base.h:19,
                 from gf_p_base.c:14:
xdouble.inl: In function `class xdouble operator |(const xdouble &, const xdouble &)':
xdouble.inl:387: conversion from `double' to non-scalar type `xdouble' requested
' to non-scalar type `xdouble' requested
xdouble.inl:389: conversion from `double' to non-scalar type `xdouble' requested
In file included from gf_p_element.h:20,
                 from gf_p_base.h:21,
                 from gf_p_base.c:14:
gf_element.h: At top level:
gf_element.h:41: warning: friend declaration `void add(gf_p_element &, const gf_p_element &, const gf_p_element &)'
gf_element.h:41: warning:   declares a non-template function

The first problem is the line

  xdouble x = dx + (1.0 - dx * b.hi) * dx;	 

where the rhs is of type double, and there is no xdouble ctor taking a
single double :-)

I believe the other problem is elaborated on the egcs web page.

In summary: The current egcs snapshot detects a number of problems in
the code, but doesn't crash. I don't know what you've intended with
the many friend declarations - after just removing all of them, the
code compiles.

Regards,
Martin



More information about the Gcc-bugs mailing list