giacomet@venus.ecn.purdue.edu (Frederic B Giacometti) (09/08/90)
 While compiling a class I got the following message:
 Pass 4 on class matrix3: internal error (code: 4TYGC2)
 Please send information regarding this error
 to Interactive Software Engineering
 ----------------------------------------------------
 As an obedient person, here I am:
 My class matrix3 had the following feature:
 cell( i, j: INTEGER ): PARAM_REAL is
	-- value of cell (i, j)
In another feature definition I had the following line:
	Result := cell(1,1)*some stuff
The crash would occur at that point.
I fixed this quick and dirty by defining the variable/features:
a11: like cell is do Result := cell(1, 1) end;
.
	-- 9 coefficients of my 3x3 matrix
.
a33: like cell is do Result := cell(3, 3) end;
and replaced the crashing cell(i, j) by aij's.
Since, I'm here, I can report another case I ran into: the double
definition of a feature in a same class is not detected in the 4
compilation passes and makes the c-compilation crash.
Finally, i got to signal an inconsistency relating to REAL constants:
The `pi' constant from the MATH_CONSTANT library is defined as a REAL.
Still, if we have
   inherit MATH_CONSTANT
   feature
      .
      .
      value: REAL;
      .
      .
          value := pi;
Then the test `value = pi' will return `false'. This seems pretty much
inconsistant to me, since `true' would be expected; am I not right ?
Frederic Giacometti