From 6b14af2bc66a11a8af36de4e2fa308bcf6685e88 Mon Sep 17 00:00:00 2001 From: Fred Fish Date: Tue, 18 Jul 1995 04:38:06 +0000 Subject: [PATCH] * dache.c (struct dcache_block): Change data member from unsigned char to char, since everything passed in and out of dcache is char or casted to appropriate type anyway. (dcache_alloc): Move assignment of db out of test and combine separate tests into if-else. (dcache_peek_byte): Change ptr from unsigned char* to char*. (dcache_peek_byte): Remove now unnecessary cast in read_memory call. (dcache_peek): Change cast of incoming data arg. (dcache_poke): Change cast of addr of incoming data arg. (dcache_info): Mask data passed to printf_filtered to lsbyte only. (dcache_info): Change printf_filtered arg from "% 2x" to " %2x". * target.c (debug_to_thread_alive): Change return type to int and return zero, for type compatibility with other *_thread_alive funcs. (cleanup_target): Change cast of ignore function to match type of the to_thread_alive member. * defs.h (error_hook): Add ATTR_NORETURN. * defs.h (NORETURN, ATTR_NORETURN): Switch from volatile to __attribute__ method with gcc 2.7, to avoid gcc 2.6.3 bug. * remote.c (remote_wait): Cast first arg to strtol, strchr, and strncmp to "const char *" from "unsigned char *". (remote_wait): Cast arg to putpkt and strcpy from "unsigned char *" to "char *". (remote_wait): Change printf format for long arg from "%d" to "%ld". (getpkt): Remove unused variable "bp". (remote_fetch_word, remote_store_word): Ifdef out apparently unused functions. * breakpoint.c (watchpoint_check): Removed unused variables "saved_level" and "saved_frame". * valops.c (value_arg_coerce): Add other enum TYPE_CODE_* and default cases to switch for completeness. * infrun.c (wait_for_inferior): Enclose "have_waited" label in #ifdef that matches the one in which it is referenced. * ser-unix.c (hardwire_noflush_set_tty_state): Enclose otherwise unused variable "state" in #ifdef that matches one in which it is referenced. * eval.c (evaluate_subexp_standard): Remove unused variable "var". * eval.c (evaluate_subexp_standard): Remove unused variable "tmp_symbol". * valarith.c (value_subscript): Remove unused variable "lowerbound", which is redeclared in a nested scope prior to use. * printcmd.c (print_frame_nameless_args): Use "%ld" to print long arg, not "%d". * {mem-break.c, remote-pa.c, remote.c, saber.suppress}: Remove unused static var "check_break_insn_size". * buildsym.c (finish_block): Add other enum LOC_* and default cases to switch for completeness. ch-lang.c (type_lower_upper): Removed unused label "retry". Add other enum TYPE_* and default cases to switch for completeness. * f-typeprint.c (f_type_print_args): Ifdef out unused function that may be used someday when Fortran support is complete. * ch-valprint.c (chill_print_type_scalar): Add other enum TYPE_* and default cases to switch for completeness. (chill_val_print): Remove unused local var "high_bound" that is redeclared in a nested scope prior to use. (chill_var_print): Use "%ld" to print long arg, not "%d". * regex.c (re_compile_fastmap, re_match_2): Add remaining enum types and default to switches for completeness. * minsyms.c (lookup_minimal_symbol_text): Delete unused variable "trampoline_symbol". (prim_record_minimal_symbol_and_info): Return NULL rather than trash. * elfread.c (elf_symtab_read): Don't dereference NULL returns from record_minimal_symbol_and_info. * f-lang.c (saved_function_list_end): Ifdef out unused variable that may be used someday. * f-valprint.c (f_val_print): Remove unused local variable "straddr". --- gdb/ChangeLog | 67 ++++++++++++++++++++++++++++++++++++++++++++++ gdb/buildsym.c | 32 ++++++++++++++++++++++ gdb/ch-lang.c | 15 ++++++++++- gdb/ch-valprint.c | 26 ++++++++++++++++-- gdb/dcache.c | 22 +++++++-------- gdb/elfread.c | 6 +++-- gdb/f-lang.c | 2 ++ gdb/f-typeprint.c | 6 +++++ gdb/f-valprint.c | 1 - gdb/minsyms.c | 5 ++-- gdb/regex.c | 13 +++++++++ gdb/remote-pa.c | 3 --- gdb/saber.suppress | 2 -- gdb/ser-unix.c | 2 ++ gdb/top.c | 2 +- 15 files changed, 178 insertions(+), 26 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 281d44e8624..230cdb8a110 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,70 @@ +Mon Jul 17 21:35:18 1995 Fred Fish + + * dache.c (struct dcache_block): Change data member from unsigned char + to char, since everything passed in and out of dcache is char or casted + to appropriate type anyway. + (dcache_alloc): Move assignment of db out of test and combine separate + tests into if-else. + (dcache_peek_byte): Change ptr from unsigned char* to char*. + (dcache_peek_byte): Remove now unnecessary cast in read_memory call. + (dcache_peek): Change cast of incoming data arg. + (dcache_poke): Change cast of addr of incoming data arg. + (dcache_info): Mask data passed to printf_filtered to lsbyte only. + (dcache_info): Change printf_filtered arg from "% 2x" to " %2x". + * target.c (debug_to_thread_alive): Change return type to int and + return zero, for type compatibility with other *_thread_alive funcs. + (cleanup_target): Change cast of ignore function to match type of the + to_thread_alive member. + * defs.h (error_hook): Add ATTR_NORETURN. + * defs.h (NORETURN, ATTR_NORETURN): Switch from volatile to + __attribute__ method with gcc 2.7, to avoid gcc 2.6.3 bug. + * remote.c (remote_wait): Cast first arg to strtol, strchr, and strncmp + to "const char *" from "unsigned char *". + (remote_wait): Cast arg to putpkt and strcpy from "unsigned char *" to + "char *". + (remote_wait): Change printf format for long arg from "%d" to "%ld". + (getpkt): Remove unused variable "bp". + (remote_fetch_word, remote_store_word): Ifdef out apparently unused + functions. + * breakpoint.c (watchpoint_check): Removed unused variables + "saved_level" and "saved_frame". + * valops.c (value_arg_coerce): Add other enum TYPE_CODE_* and + default cases to switch for completeness. + * infrun.c (wait_for_inferior): Enclose "have_waited" label + in #ifdef that matches the one in which it is referenced. + * ser-unix.c (hardwire_noflush_set_tty_state): Enclose otherwise + unused variable "state" in #ifdef that matches one in which it is + referenced. + * eval.c (evaluate_subexp_standard): Remove unused variable "var". + * eval.c (evaluate_subexp_standard): Remove unused variable "tmp_symbol". + * valarith.c (value_subscript): Remove unused variable "lowerbound", + which is redeclared in a nested scope prior to use. + * printcmd.c (print_frame_nameless_args): Use "%ld" to print long + arg, not "%d". + * {mem-break.c, remote-pa.c, remote.c, saber.suppress}: + Remove unused static var "check_break_insn_size". + * buildsym.c (finish_block): Add other enum LOC_* and default + cases to switch for completeness. + ch-lang.c (type_lower_upper): Removed unused label "retry". + Add other enum TYPE_* and default cases to switch for completeness. + * f-typeprint.c (f_type_print_args): Ifdef out unused function + that may be used someday when Fortran support is complete. + * ch-valprint.c (chill_print_type_scalar): Add other enum + TYPE_* and default cases to switch for completeness. + (chill_val_print): Remove unused local var "high_bound" that + is redeclared in a nested scope prior to use. + (chill_var_print): Use "%ld" to print long arg, not "%d". + * regex.c (re_compile_fastmap, re_match_2): Add remaining enum types + and default to switches for completeness. + * minsyms.c (lookup_minimal_symbol_text): Delete unused variable + "trampoline_symbol". + (prim_record_minimal_symbol_and_info): Return NULL rather than trash. + * elfread.c (elf_symtab_read): Don't dereference NULL returns from + record_minimal_symbol_and_info. + * f-lang.c (saved_function_list_end): Ifdef out unused variable + that may be used someday. + * f-valprint.c (f_val_print): Remove unused local variable "straddr". + Mon Jul 17 13:08:00 1995 Ian Lance Taylor * stabsread.h (struct stab_section_list): Define. diff --git a/gdb/buildsym.c b/gdb/buildsym.c index d62d2ee2162..fa31e6243d4 100644 --- a/gdb/buildsym.c +++ b/gdb/buildsym.c @@ -247,6 +247,22 @@ finish_block (symbol, listhead, old_blocks, start, end, objfile) case LOC_REGPARM: case LOC_REGPARM_ADDR: nparams++; + break; + case LOC_UNDEF: + case LOC_CONST: + case LOC_STATIC: + case LOC_REGISTER: + case LOC_LOCAL: + case LOC_TYPEDEF: + case LOC_LABEL: + case LOC_BLOCK: + case LOC_CONST_BYTES: + case LOC_LOCAL_ARG: + case LOC_BASEREG: + case LOC_BASEREG_ARG: + case LOC_OPTIMIZED_OUT: + default: + break; } } if (nparams > 0) @@ -266,6 +282,22 @@ finish_block (symbol, listhead, old_blocks, start, end, objfile) case LOC_REGPARM_ADDR: TYPE_FIELD_TYPE (ftype, iparams) = SYMBOL_TYPE (sym); iparams++; + break; + case LOC_UNDEF: + case LOC_CONST: + case LOC_STATIC: + case LOC_REGISTER: + case LOC_LOCAL: + case LOC_TYPEDEF: + case LOC_LABEL: + case LOC_BLOCK: + case LOC_CONST_BYTES: + case LOC_LOCAL_ARG: + case LOC_BASEREG: + case LOC_BASEREG_ARG: + case LOC_OPTIMIZED_OUT: + default: + break; } } } diff --git a/gdb/ch-lang.c b/gdb/ch-lang.c index e90e4a7bfc5..e0678268d5c 100644 --- a/gdb/ch-lang.c +++ b/gdb/ch-lang.c @@ -305,7 +305,6 @@ type_lower_upper (op, type, result_type) { LONGEST tmp; *result_type = builtin_type_int; - retry: switch (TYPE_CODE (type)) { case TYPE_CODE_STRUCT: @@ -342,6 +341,20 @@ type_lower_upper (op, type, result_type) return op == UNOP_LOWER ? 0 : tmp - (LONGEST) 1; tmp = tmp >> 1; return op == UNOP_LOWER ? -tmp : (tmp - 1); + case TYPE_CODE_UNDEF: + case TYPE_CODE_PTR: + case TYPE_CODE_UNION: + case TYPE_CODE_FUNC: + case TYPE_CODE_FLT: + case TYPE_CODE_VOID: + case TYPE_CODE_SET: + case TYPE_CODE_ERROR: + case TYPE_CODE_MEMBER: + case TYPE_CODE_METHOD: + case TYPE_CODE_REF: + case TYPE_CODE_COMPLEX: + default: + break; } error ("unknown mode for LOWER/UPPER builtin"); } diff --git a/gdb/ch-valprint.c b/gdb/ch-valprint.c index 31eeb1289a1..a96bd704bb6 100644 --- a/gdb/ch-valprint.c +++ b/gdb/ch-valprint.c @@ -57,6 +57,29 @@ chill_print_type_scalar (type, val, stream) chill_print_type_scalar (TYPE_TARGET_TYPE (type), val, stream); return; } + break; + case TYPE_CODE_UNDEF: + case TYPE_CODE_PTR: + case TYPE_CODE_ARRAY: + case TYPE_CODE_STRUCT: + case TYPE_CODE_UNION: + case TYPE_CODE_ENUM: + case TYPE_CODE_FUNC: + case TYPE_CODE_INT: + case TYPE_CODE_FLT: + case TYPE_CODE_VOID: + case TYPE_CODE_SET: + case TYPE_CODE_STRING: + case TYPE_CODE_BITSTRING: + case TYPE_CODE_ERROR: + case TYPE_CODE_MEMBER: + case TYPE_CODE_METHOD: + case TYPE_CODE_REF: + case TYPE_CODE_CHAR: + case TYPE_CODE_BOOL: + case TYPE_CODE_COMPLEX: + default: + break; } print_type_scalar (type, val, stream); } @@ -90,7 +113,6 @@ chill_val_print_array_elements (type, valaddr, address, stream, /* Number of repetitions we have detected so far. */ unsigned int reps; LONGEST low_bound = TYPE_FIELD_BITPOS (range_type, 0); - LONGEST high_bound = TYPE_FIELD_BITPOS (range_type, 1); elttype = TYPE_TARGET_TYPE (type); eltlen = TYPE_LENGTH (elttype); @@ -379,7 +401,7 @@ chill_val_print (type, valaddr, address, stream, format, deref_ref, recurse, if (length > TYPE_LENGTH (type)) { fprintf_filtered (stream, - " static length %d>", + " static length %d>", length, TYPE_LENGTH (type)); } LA_PRINT_STRING (stream, data_addr, length, 0); diff --git a/gdb/dcache.c b/gdb/dcache.c index 61e4ed0e9b7..4e9f960a43b 100644 --- a/gdb/dcache.c +++ b/gdb/dcache.c @@ -112,7 +112,7 @@ struct dcache_block { struct dcache_block *p; /* next in list */ unsigned int addr; /* Address for which data is recorded. */ - unsigned char data[LINE_SIZE]; /* bytes at given address */ + char data[LINE_SIZE]; /* bytes at given address */ unsigned char state[LINE_SIZE]; /* what state the data is in */ /* whether anything in state is dirty - used to speed up the @@ -272,14 +272,14 @@ dcache_alloc (dcache) abort (); /* Take something from the free list */ - if (db = dcache->free_head) + db = dcache->free_head; + if (db) { dcache->free_head = db->p; } - - if (!db) + else { - /* Nothing left on free list, so grab on from the valid list */ + /* Nothing left on free list, so grab one from the valid list */ db = dcache->valid_head; dcache->valid_head = db->p; @@ -306,7 +306,7 @@ int dcache_peek_byte (dcache, addr, ptr) DCACHE *dcache; CORE_ADDR addr; - unsigned char *ptr; + char *ptr; { register struct dcache_block *db = dcache_hit (dcache, addr); int ok=1; @@ -327,7 +327,7 @@ dcache_peek_byte (dcache, addr, ptr) int try = (*dcache->read_memory) (db->addr + done, - (unsigned char *) db->data + done, + db->data + done, LINE_SIZE - done); if (try == 0) return 0; @@ -353,7 +353,7 @@ dcache_peek (dcache, addr, data) CORE_ADDR addr; int *data; { - unsigned char *dp = (unsigned char *) data; + char *dp = (char *) data; int i; for (i = 0; i < sizeof (int); i++) { @@ -431,7 +431,7 @@ dcache_poke (dcache, addr, data) CORE_ADDR addr; int data; { - unsigned char *dp = (unsigned char *) (&data); + char *dp = (char *) (&data); int i; for (i = 0; i < sizeof (int); i++) { @@ -533,11 +533,11 @@ dcache_info (exp, tty) p->addr, p->refs); for (j = 0; j < LINE_SIZE; j++) - printf_filtered ("%02x", p->data[j]); + printf_filtered ("%02x", p->data[j] & 0xFF); printf_filtered ("\n"); for (j = 0; j < LINE_SIZE; j++) - printf_filtered ("% 2x", p->state[j]); + printf_filtered (" %2x", p->state[j]); printf_filtered ("\n"); } } diff --git a/gdb/elfread.c b/gdb/elfread.c index 0425c01ce42..10269bb58a1 100644 --- a/gdb/elfread.c +++ b/gdb/elfread.c @@ -326,7 +326,8 @@ elf_symtab_read (abfd, addr, objfile, dynamic) ((char *) sym -> name, symaddr, mst_solib_trampoline, NULL, objfile); #ifdef SOFUN_ADDRESS_MAYBE_MISSING - msym->filename = filesymname; + if (msym != NULL) + msym->filename = filesymname; #endif continue; } @@ -516,7 +517,8 @@ elf_symtab_read (abfd, addr, objfile, dynamic) ((char *) sym -> name, symaddr, ms_type, (PTR) size, objfile); #ifdef SOFUN_ADDRESS_MAYBE_MISSING - msym->filename = filesymname; + if (msym != NULL) + msym->filename = filesymname; #endif } } diff --git a/gdb/f-lang.c b/gdb/f-lang.c index b296a2002f7..04a446f41ef 100644 --- a/gdb/f-lang.c +++ b/gdb/f-lang.c @@ -935,7 +935,9 @@ get_bf_for_fcn (the_function) } static SAVED_FUNCTION_PTR saved_function_list=NULL; +#if 0 /* Currently unused */ static SAVED_FUNCTION_PTR saved_function_list_end=NULL; +#endif void clear_function_list() { diff --git a/gdb/f-typeprint.c b/gdb/f-typeprint.c index 8775b379adc..8b1e9fe88e5 100644 --- a/gdb/f-typeprint.c +++ b/gdb/f-typeprint.c @@ -39,7 +39,9 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include +#if 0 /* Currently unused */ static void f_type_print_args PARAMS ((struct type *, FILE *)); +#endif static void f_type_print_varspec_suffix PARAMS ((struct type *, FILE *, int, int, int)); @@ -150,6 +152,8 @@ f_type_print_varspec_prefix (type, stream, show, passed_a_ptr) } } +#if 0 /* Currently unused */ + static void f_type_print_args (type, stream) struct type *type; @@ -184,6 +188,8 @@ f_type_print_args (type, stream) fprintf_filtered (stream, ")"); } +#endif /* 0 */ + /* Print any array sizes, function arguments or close parentheses needed after the variable name (to describe its type). Args work like c_type_print_varspec_prefix. */ diff --git a/gdb/f-valprint.c b/gdb/f-valprint.c index 5c936e8d84a..06beea6c510 100644 --- a/gdb/f-valprint.c +++ b/gdb/f-valprint.c @@ -374,7 +374,6 @@ f_val_print (type, valaddr, address, stream, format, deref_ref, recurse, register unsigned int i = 0; /* Number of characters printed */ struct type *elttype; LONGEST val; - char *straddr; CORE_ADDR addr; switch (TYPE_CODE (type)) diff --git a/gdb/minsyms.c b/gdb/minsyms.c index 75281ce49cd..354b8ff319d 100644 --- a/gdb/minsyms.c +++ b/gdb/minsyms.c @@ -194,7 +194,6 @@ lookup_minimal_symbol_text (name, sfile, objf) struct minimal_symbol *msymbol; struct minimal_symbol *found_symbol = NULL; struct minimal_symbol *found_file_symbol = NULL; - struct minimal_symbol *trampoline_symbol = NULL; #ifdef SOFUN_ADDRESS_MAYBE_MISSING if (sfile != NULL) @@ -466,14 +465,14 @@ prim_record_minimal_symbol_and_info (name, address, ms_type, info, section, if (name[0] == 'g' && (strcmp (name, GCC_COMPILED_FLAG_SYMBOL) == 0 || strcmp (name, GCC2_COMPILED_FLAG_SYMBOL) == 0)) - return; + return (NULL); { const char *tempstring = name; if (tempstring[0] == get_symbol_leading_char (objfile->obfd)) ++tempstring; if (STREQN (tempstring, "__gnu_compiled", 14)) - return; + return (NULL); } } diff --git a/gdb/regex.c b/gdb/regex.c index 3f30284a639..fc31eba9a60 100644 --- a/gdb/regex.c +++ b/gdb/regex.c @@ -876,6 +876,11 @@ re_compile_fastmap (bufp) fastmap[j] = 1; } break; + case unused: + case syntaxspec: + case notsyntaxspec: + default: + break; } /* Get here means we have successfully found the possible starting characters @@ -1529,6 +1534,14 @@ re_match_2 (pbufp, string1, size1, string2, size2, pos, regs, mstop) while (--mcnt); } break; + case unused: + case before_dot: + case at_dot: + case after_dot: + case syntaxspec: + case notsyntaxspec: + default: + break; } continue; /* Successfully matched one pattern command; keep matching */ diff --git a/gdb/remote-pa.c b/gdb/remote-pa.c index d131b47df71..f12b8baa586 100644 --- a/gdb/remote-pa.c +++ b/gdb/remote-pa.c @@ -1425,9 +1425,6 @@ remote_mourn () than other targets. */ static unsigned char break_insn[] = REMOTE_BREAKPOINT; -/* Check that it fits in BREAKPOINT_MAX bytes. */ -static unsigned char check_break_insn_size[BREAKPOINT_MAX] = REMOTE_BREAKPOINT; - #else /* No REMOTE_BREAKPOINT. */ /* Same old breakpoint instruction. This code does nothing different diff --git a/gdb/saber.suppress b/gdb/saber.suppress index 2ad0c3885ab..6dda1c5f2da 100644 --- a/gdb/saber.suppress +++ b/gdb/saber.suppress @@ -364,8 +364,6 @@ suppress 591 in print_scalar_formatted /* Unused automatic variable */ suppress 592 on rcsid /* Unused static */ -suppress 592 on check_break_insn_size -/* Unused static */ suppress 594 in call_function_by_hand /* Set but not used */ suppress 594 in record_latest_value diff --git a/gdb/ser-unix.c b/gdb/ser-unix.c index 55d2a02a837..c124f6d9c7f 100644 --- a/gdb/ser-unix.c +++ b/gdb/ser-unix.c @@ -194,7 +194,9 @@ hardwire_noflush_set_tty_state (scb, new_ttystate, old_ttystate) serial_ttystate old_ttystate; { struct hardwire_ttystate new_state; +#ifdef HAVE_SGTTY struct hardwire_ttystate *state = (struct hardwire_ttystate *) old_ttystate; +#endif new_state = *(struct hardwire_ttystate *)new_ttystate; diff --git a/gdb/top.c b/gdb/top.c index 5fcebc30bd3..47d91003d57 100644 --- a/gdb/top.c +++ b/gdb/top.c @@ -422,7 +422,7 @@ void (*call_command_hook) PARAMS ((struct cmd_list_element *c, char *cmd, /* Takes control from error (). Typically used to prevent longjmps out of the middle of the GUI. Usually used in conjunction with a catch routine. */ -NORETURN void (*error_hook) PARAMS (()); +NORETURN void (*error_hook) PARAMS (()) ATTR_NORETURN; /* Where to go for return_to_top_level (RETURN_ERROR). */ -- 2.30.2