Path: utzoo!utgpu!watmath!uunet!tut.cis.ohio-state.edu!UUNET.UU.NET!bsw!sniff.bsw.com!adam From: bsw!sniff.bsw.com!adam@UUNET.UU.NET (Adam R de Boor) Newsgroups: gnu.gcc.bug Subject: dbx stabs for dynamic arrays Message-ID: <8811112040.AA12235@sniff.bsw.com> Date: 11 Nov 88 20:40:42 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 28 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