egcs 1.1B inetrnal error
Shmulik Rippa
shmulik@Orbotech.Co.IL
Mon Oct 26 23:23:00 GMT 1998
Hi!
egcs 1.1b on solaris 2.6 ultrasparc.
Here are two samples of internal compiler errors:
/opt/egcs/bin/g++ -c -I../../SipGeneral/Src -I../../GenericLib/Src
-I../../../include -g -Wall -W -Wno-return-type -Woverloaded-virtual
-fno-exceptions -fno-rtti -mcpu=ultrasparc -O2 -ffast-math -DBIGENDIAN
-DSPARC -ftemplate-depth-33 -fenum-int-equiv -fforce-mem
-felide-constructors -I../../../include -I../../../oo-server
-I../../../general -I../../GenericLib/Src -I../../SipGeneral/Src
-I../../Src/kernel -I../../Src/task_geom_ref
-I../../Src/task_line_width -I../../Src/win_tests -I../../Src/snap
-I../../Src/task_registration -I../../Src/utils
../../SipGeneral/Src/gcircle.C -o
../../SipGeneral/Config/Sparc/gcircle.o
../../SipGeneral/Src/gcircle.C: In function `bool operator <(const class
Gcircle &, const class Gcircle &)':
../../SipGeneral/Src/gcircle.C:257: Internal compiler error.
//---------------------------------------------------------------------------
bool operator<(const Gcircle & x, const Gcircle & y)
{
if (x.cx == y.cx) {
return (x.cy < y.cy);
}
else {
return (x.cx < y.cx);
}
}
################################################
/opt/egcs/bin/g++ -c -I../../SipGeneral/Src -I../../GenericLib/Src
-I../../../include -g -Wall -W -Wno-return-type -Woverloaded-virtual
-fno-exceptions -fno-rtti -mcpu=ultrasparc -O2 -ffast-math -DBIGENDIAN
-DSPARC -ftemplate-depth-33 -fenum-int-equiv -fforce-mem
-felide-constructors -I../../../include -I../../../oo-server
-I../../../general -I../../GenericLib/Src -I../../SipGeneral/Src
-I../../Src/kernel -I../../Src/task_geom_ref
-I../../Src/task_line_width -I../../Src/win_tests -I../../Src/snap
-I../../Src/task_registration -I../../Src/utils
../../SipGeneral/Src/best_line.C -o
../../SipGeneral/Config/Sparc/best_line.o
../../../include/fp_compare.H: In function `bool FpEQzero(float)':
In file included from ../../SipGeneral/Src/best_line.C:22:
../../../include/fp_compare.H:14: Internal compiler error.
../.
#ifndef _FP_COMPARE_
#define _FP_COMPARE_
// floating point comparison functions
#include <cfloat>
using namespace std;
#define FP_FLT_EPS 128.0 * FLT_EPSILON
#define FP_DBL_EPS 128.0 * DBL_EPSILON
// d == 0 : true iff d is (floating point) equal to zero
bool FpEQzero(double d ) { return (fabs(d) < FP_DBL_EPS); }
bool FpEQzero(float d ) { return (fabs((double)d) < FP_FLT_EPS); }
// d > 0 : true iff d is (floating point) greater than to zero
bool FpGTzero(double d ) { return d > FP_DBL_EPS; }
bool FpGTzero(float d ) { return d > FP_FLT_EPS; }
// d >= 0 : true iff d is (floating point) greater than or equal to zero
bool FpGEzero(double d ) { return d >= FP_DBL_EPS; }
bool FpGEzero(float d ) { return d >= FP_FLT_EPS; }
// d < 0 : true iff d is (floating point) less than to zero
bool FpLTzero(double d ) { return d < -FP_DBL_EPS; }
bool FpLTzero(float d ) { return d < -FP_FLT_EPS; }
// d <= 0 : true iff d is (floating point) less than or equal to zero
bool FpLEzero(double d ) { return d <= -FP_DBL_EPS; }
bool FpLEzero(float d ) { return d <= -FP_FLT_EPS; }
// a == b : true iff a is (floating point) equal to b
bool FpEQ(double a, double b ) { return FpEQzero(a-b); }
bool FpEQ(float a, float b ) { return FpEQzero(a-b); }
// a > b : true iff a is (floating point) greater than to b
bool FpGT(double a, double b ) { return ( a > (b+FP_DBL_EPS) ); }
bool FpGT(float a, float b ) { return ( a > (b+FP_FLT_EPS) ); }
// a >= b : true iff a is (floating point) greater than or equal to b
bool FpGE(double a, double b ) { return ( a >= (b+FP_DBL_EPS) ); }
bool FpGE(float a, float b ) { return ( a >= (b+FP_FLT_EPS) ); }
// a < b : true iff a is (floating point) smaller than to b
bool FpLT(double a, double b ) { return ( b > (a+FP_DBL_EPS) ); }
bool FpLT(float a, float b ) { return ( b > (a+FP_FLT_EPS) ); }
// a <= b : true iff a is (floating point) smaller than or equal to b
bool FpLE(double a, double b ) { return ( b >= (a+FP_DBL_EPS) ); }
bool FpLE(float a, float b ) { return ( b >= (a+FP_FLT_EPS) ); }
#endif // _FP_COMPARE_
###########################
Thanks!!
More information about the Gcc-bugs
mailing list