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