From a2a0019fe401aebdf0a470809b0e07b3b9e233cb Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Sat, 10 Jan 2004 13:34:59 -0500 Subject: [PATCH] re PR debug/12860 (stabs register number out of range) 2004-01-10 David Edelsohn James E Wilson PR debug/12860 * dbxout.c (dbxout_symbol): Remove initialization of current_sym_code, current_sym_value, and current_sym_addr. (dbxout_symbol_location): Same. (dbxout_prepare_symbol): Zero current_sym_code, current_sym_value, and current_sym_addr. From-SVN: r75644 --- gcc/ChangeLog | 14 ++++++++++++-- gcc/dbxout.c | 17 ++++++++--------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 13ee5f6b070..d792845f5a4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2004-01-10 David Edelsohn + James E Wilson + + PR debug/12860 + * dbxout.c (dbxout_symbol): Remove initialization of + current_sym_code, current_sym_value, and current_sym_addr. + (dbxout_symbol_location): Same. + (dbxout_prepare_symbol): Zero current_sym_code, + current_sym_value, and current_sym_addr. + 2004-01-10 Richard Sandiford * tree.c (get_unwidened): Reorder conditions so that the null pointer @@ -16,8 +26,8 @@ 2004-01-09 Andrew Pinski PR debug/11231 - * dbxout.c (dbxout_type_fields): Return if any item is error_mark_node or the - type is error_mark_node. + * dbxout.c (dbxout_type_fields): Return if any item is + error_mark_node or the type is error_mark_node. 2004-01-09 Geoffrey Keating diff --git a/gcc/dbxout.c b/gcc/dbxout.c index e0044902357..dc0caf71ab8 100644 --- a/gcc/dbxout.c +++ b/gcc/dbxout.c @@ -2047,11 +2047,6 @@ dbxout_symbol (tree decl, int local ATTRIBUTE_UNUSED) /* "Intercept" dbxout_symbol() calls like we do all debug_hooks. */ ++debug_nesting; - /* Cast avoids warning in old compilers. */ - current_sym_code = (STAB_CODE_TYPE) 0; - current_sym_value = 0; - current_sym_addr = 0; - /* Ignore nameless syms, but don't ignore type tags. */ if ((DECL_NAME (decl) == 0 && TREE_CODE (decl) != TYPE_DECL) @@ -2578,10 +2573,6 @@ dbxout_symbol_location (tree decl, tree type, const char *suffix, rtx home) else dbxout_symbol_location (decl, subtype, "$real", XEXP (home, 0)); - /* Cast avoids warning in old compilers. */ - current_sym_code = (STAB_CODE_TYPE) 0; - current_sym_value = 0; - current_sym_addr = 0; dbxout_prepare_symbol (decl); if (WORDS_BIG_ENDIAN) @@ -2649,6 +2640,14 @@ dbxout_prepare_symbol (tree decl ATTRIBUTE_UNUSED) dbxout_source_file (asmfile, filename); #endif + + /* Initialize variables used to communicate each symbol's debug + information to dbxout_finish_symbol with zeroes. */ + + /* Cast avoids warning in old compilers. */ + current_sym_code = (STAB_CODE_TYPE) 0; + current_sym_value = 0; + current_sym_addr = 0; } static void