Linux ix86 Octave test regression egcs 2.95 patch identified

Bill Priest bpriest@comspacecorp.com
Mon Jul 26 10:32:00 GMT 1999


All,
	After much compiling and patching and compiling ...
The single change that prevents octave from passing all but
one if its tests is the following from egcs-19990602-1990608.diff

I'm not sure why this breaks it; but it does.

diff -Nrc3p egcs-19990602/gcc/cp/method.c egcs-19990608/gcc/cp/method.c
*** egcs-19990602/gcc/cp/method.c	Fri Apr 16 06:16:49 1999
--- egcs-19990608/gcc/cp/method.c	Sun Jun  6 04:06:58 1999
*************** is_back_referenceable_type (type)
*** 372,381 ****
  
    switch (TREE_CODE (type)) 
      {
      case INTEGER_TYPE:
      case REAL_TYPE:
      case VOID_TYPE:
-     case BOOLEAN_TYPE:
        /* These types have single-character manglings, so there's no
  	 point in generating back-references.  */
        return 0;         
--- 372,387 ----
  
    switch (TREE_CODE (type)) 
      {
+     case BOOLEAN_TYPE:
+       if (!flag_do_squangling)
+ 	/* Even though the mangling of this is just `b', we did
+ 	   historically generate back-references for it.  */
+ 	return 1;
+       /* Fall through.  */
+       
      case INTEGER_TYPE:
      case REAL_TYPE:
      case VOID_TYPE:
        /* These types have single-character manglings, so there's no
  	 point in generating back-references.  */
        return 0;         

Rebuilding snapshot egcs-1999718 and re-running w/ the above patch reverted
gives a successful make check for octave-2.0.14 (except for one error that has been there
w/ previous versions of egcs and gcc).

This is about as far as I can go in debugging this problem w/o help from
someone that knows egcs.

FYI,

Bill


More information about the Gcc-bugs mailing list