[gnu.g++.bug] g++ 1.36.1 bug+fix 01059001 - static operators get errors

rfg@ICS.UCI.EDU (01/06/90)

// In g++ 1.36.1, the following example gets errors like
// "wrong number of parameters to `operator XXX'".  This appears to be
// happening for any operator which is declared static.

class mine {

public:

  static int operator == (mine&);
  static int operator [] (mine&);
  static int operator ! ();
};

(Michael - please confirm the following fix.)

*** cplus-decl2.c-	Sat Dec 30 11:41:33 1989
--- cplus-decl2.c	Fri Jan  5 09:54:43 1990
***************
*** 921,926 ****
  	/* Now we know the number of parameters,
  	   so build the real operator fnname.  */
! 	name = build_operator_fnname (declarator, TYPE_ARG_TYPES (type),
! 				      is_decl > 1);
      }
    else
--- 921,925 ----
  	/* Now we know the number of parameters,
  	   so build the real operator fnname.  */
! 	name = build_operator_fnname (declarator, TYPE_ARG_TYPES (type), 0);
      }
    else