[gnu.gcc.bug] dbx stabs for dynamic arrays

adam@UUNET.UU.NET (Adam R de Boor) (11/12/88)

these are generated improperly because of an extraneous condition in
dbxout_symbol. The patch is:

*** foo	Fri Nov 11 12:38:48 1988
--- ../dbxout.c	Fri Nov 11 11:41:31 1988
***************
*** 690,696 ****
  	  current_sym_value = DBX_REGISTER_NUMBER (REGNO (DECL_RTL (decl)));
  	}
        else if (GET_CODE (DECL_RTL (decl)) == MEM
! 	       && TREE_CODE (decl) == PARM_DECL
  	       && (GET_CODE (XEXP (DECL_RTL (decl), 0)) == MEM
  		   || (GET_CODE (XEXP (DECL_RTL (decl), 0)) == REG
  		       && REGNO (XEXP (DECL_RTL (decl), 0)) != FRAME_POINTER_REGNUM)))
--- 690,696 ----
  	  current_sym_value = DBX_REGISTER_NUMBER (REGNO (DECL_RTL (decl)));
  	}
        else if (GET_CODE (DECL_RTL (decl)) == MEM
! /*	       && TREE_CODE (decl) == PARM_DECL*/
  	       && (GET_CODE (XEXP (DECL_RTL (decl), 0)) == MEM
  		   || (GET_CODE (XEXP (DECL_RTL (decl), 0)) == REG
  		       && REGNO (XEXP (DECL_RTL (decl), 0)) != FRAME_POINTER_REGNUM)))

briefly, since TREE_CODE(decl) is known to be VAR_DECL, the nuked comparison
always fails. When it is removed, a "correct" (w/in bounds of dbx
brain damage) stab entry is produced.

a