From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32660 invoked by alias); 6 Apr 2007 22:34:05 -0000 Received: (qmail 32648 invoked by uid 22791); 6 Apr 2007 22:34:00 -0000 X-Spam-Check-By: sourceware.org Received: from palrel11.hp.com (HELO palrel11.hp.com) (156.153.255.246) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 06 Apr 2007 23:33:52 +0100 Received: from smtp1.cup.hp.com (hpda.cup.hp.com [15.4.32.117]) by palrel11.hp.com (Postfix) with ESMTP id 3F4EA356B9 for ; Fri, 6 Apr 2007 15:33:50 -0700 (PDT) Received: from hpsje.cup.hp.com (hpsje.cup.hp.com [16.89.92.85]) by smtp1.cup.hp.com (Postfix) with ESMTP id 285E649CB51 for ; Fri, 6 Apr 2007 22:33:50 +0000 (UTC) Received: (from sje@localhost) by hpsje.cup.hp.com (8.9.3 (PHNE_29774)/8.9.3) id PAA16568 for gdb-patches@sourceware.org; Fri, 6 Apr 2007 15:33:50 -0700 (PDT) Date: Fri, 06 Apr 2007 22:34:00 -0000 From: Steve Ellcey Message-Id: <200704062233.PAA16568@hpsje.cup.hp.com> To: gdb-patches@sourceware.org Subject: Patch for isdigit/isalpha/etc. macro arguments Reply-To: sje@cup.hp.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2007-04/txt/msg00034.txt.bz2 While getting gdb to build on hppa hp-ux I ran into an interesting problem. I was building with gcc which means that the gdb makefile will use -Wall and -Werror as options (a good thing in my opinion). The problem I ran into is with the use of the isdigit, isalpha, isupper, etc. macros. With GCC 4.1.1 and the -Wall -Werror options, if you access an array with a char expression as the index instead of an int expression you get an error. proj/opensrc/nightly/src/src/gdb/exec.c: In function 'set_section_command': /proj/opensrc/nightly/src/src/gdb/exec.c:648: warning: array subscript has type 'char' make[1]: *** [exec.o] Error 1 make[1]: Leaving directory `/proj/opensrc/nightly/build-hppa1.1-hp-hpux11.11-trunk/obj_src/gdb' make: *** [all-gdb] Error 2 This doesn't happen when using the isdigit, etc. macros on Linux because isdigit(c) expands to something like "__array[(int) c] & MASK", i.e. the macro contains an explicit integer cast and so GCC doesn't complain about a non-integer array index. HP-UX does not put the int cast in the array reference in the macros, so if the argument to isdigit is not an int, you get an error (when using gcc -Wall -Werror). Here is a patch to cast the arguments to isalpha, etc. With this patch and my previous HP-UX specific patch I was able to build gdb on hppa hp-ux. Is this patch OK to checkin? 2007-04-06 Steve Ellcey * ada-exp.y: Cast idigit, islower, isupper, isalpha, etc. arg to int. * ada-lang.c: Ditto. * ada-lex.l: Ditto. * ada-typeprint.c: Ditto. * breakpoint.c: Ditto. * coffread.c: Ditto. * completer.c: Ditto. * cp-support.c: Ditto. * exec.c: Ditto. * expprint.c: Ditto. * gnu-v2-abi.c: Ditto. * infcmd.c: Ditto. * infrun.c: Ditto. * jv-exp.y: Ditto. * main.c: Ditto. * maint.c: Ditto. * minsyms.c: Ditto. * objc-exp.y: Ditto. * objc-lang.c: Ditto. * p-exp.y: Ditto. * p-typeprint.c: Ditto. * parse.c: Ditto. * remote-utils.c: Ditto. * remote.c: Ditto. * serial.c: Ditto. * stabsread.c: Ditto. * stack.c: Ditto. * symfile.c: Ditto. * symtab.c: Ditto. * thread.c: Ditto. * utils.c: Ditto. * cli/cli-cmds.c: Ditto. * cli/cli-decode.c: Ditto. * cli/cli-dump.c: Ditto. * cli/cli-script.c: Ditto. * cli/cli-setshow.c: Ditto. * mi/mi-cmd-var.c: Ditto. * mi/mi-parse.c: Ditto. * tui/tui-win.c: Ditto. Index: ada-exp.y =================================================================== RCS file: /cvs/src/src/gdb/ada-exp.y,v retrieving revision 1.20 diff -p -u -r1.20 ada-exp.y --- ada-exp.y 9 Jan 2007 17:58:49 -0000 1.20 +++ ada-exp.y 6 Apr 2007 22:06:44 -0000 @@ -908,7 +908,7 @@ write_object_renaming (struct block *ori slice_state = LOWER_BOUND; case 'S': suffix += 1; - if (isdigit (*suffix)) + if (isdigit ((int) *suffix)) { char *next; long val = strtol (suffix, &next, 10); Index: ada-lang.c =================================================================== RCS file: /cvs/src/src/gdb/ada-lang.c,v retrieving revision 1.95 diff -p -u -r1.95 ada-lang.c --- ada-lang.c 29 Mar 2007 21:57:01 -0000 1.95 +++ ada-lang.c 6 Apr 2007 22:06:45 -0000 @@ -738,7 +738,7 @@ is_suppressed_name (const char *str) if (suffix == NULL) suffix = str + strlen (str); for (p = suffix - 1; p != str; p -= 1) - if (isupper (*p)) + if (isupper ((int) *p)) { int i; if (p[0] == 'X' && p[-1] != '_') @@ -840,7 +840,7 @@ ada_fold_name (const char *name) static int is_lower_alphanum (const char c) { - return (isdigit (c) || (isalpha (c) && islower (c))); + return (isdigit ((int) c) || (isalpha ((int) c) && islower ((int) c))); } /* Decode: @@ -883,10 +883,10 @@ ada_decode (const char *encoded) /* Remove trailing .{DIGIT}+ or ___{DIGIT}+ or __{DIGIT}+. */ len0 = strlen (encoded); - if (len0 > 1 && isdigit (encoded[len0 - 1])) + if (len0 > 1 && isdigit ((int) encoded[len0 - 1])) { i = len0 - 2; - while (i > 0 && isdigit (encoded[i])) + while (i > 0 && isdigit ((int) encoded[i])) i--; if (i >= 0 && encoded[i] == '.') len0 = i; @@ -910,7 +910,8 @@ ada_decode (const char *encoded) if (len0 > 1 && encoded[len0 - 1] == 'N' - && (isdigit (encoded[len0 - 2]) || islower (encoded[len0 - 2]))) + && (isdigit ((int) encoded[len0 - 2]) + || islower ((int) encoded[len0 - 2]))) len0--; /* Remove the ___X.* suffix if present. Do not forget to verify that @@ -936,11 +937,11 @@ ada_decode (const char *encoded) GROW_VECT (decoding_buffer, decoding_buffer_size, 2 * len0 + 1); decoded = decoding_buffer; - if (len0 > 1 && isdigit (encoded[len0 - 1])) + if (len0 > 1 && isdigit ((int) encoded[len0 - 1])) { i = len0 - 2; - while ((i >= 0 && isdigit (encoded[i])) - || (i >= 1 && encoded[i] == '_' && isdigit (encoded[i - 1]))) + while ((i >= 0 && isdigit ((int) encoded[i])) + || (i >= 1 && encoded[i] == '_' && isdigit ((int) encoded[i - 1]))) i -= 1; if (i > 1 && encoded[i] == '_' && encoded[i - 1] == '_') len0 = i - 1; @@ -948,7 +949,7 @@ ada_decode (const char *encoded) len0 = i; } - for (i = 0, j = 0; i < len0 && !isalpha (encoded[i]); i += 1, j += 1) + for (i = 0, j = 0; i < len0 && !isalpha ((int) encoded[i]); i += 1, j += 1) decoded[j] = encoded[i]; at_start_name = 1; @@ -962,7 +963,7 @@ ada_decode (const char *encoded) int op_len = strlen (ada_opname_table[k].encoded); if ((strncmp (ada_opname_table[k].encoded + 1, encoded + i + 1, op_len - 1) == 0) - && !isalnum (encoded[i + op_len])) + && !isalnum ((int) encoded[i + op_len])) { strcpy (decoded + j, ada_opname_table[k].decoded); at_start_name = 0; @@ -996,11 +997,11 @@ ada_decode (const char *encoded) internally generated. */ if (len0 - i > 3 && encoded [i] == '_' && encoded[i+1] == 'E' - && isdigit (encoded[i+2])) + && isdigit ((int) encoded[i+2])) { int k = i + 3; - while (k < len0 && isdigit (encoded[k])) + while (k < len0 && isdigit ((int) encoded[k])) k++; if (k < len0 @@ -1034,7 +1035,7 @@ ada_decode (const char *encoded) i++; } - if (encoded[i] == 'X' && i != 0 && isalnum (encoded[i - 1])) + if (encoded[i] == 'X' && i != 0 && isalnum ((int) encoded[i - 1])) { do i += 1; @@ -1060,7 +1061,7 @@ ada_decode (const char *encoded) decoded[j] = '\000'; for (i = 0; decoded[i] != '\0'; i += 1) - if (isupper (decoded[i]) || decoded[i] == ' ') + if (isupper ((int) decoded[i]) || decoded[i] == ' ') goto Suppress; if (strcmp (decoded, encoded) == 0) @@ -3134,9 +3135,9 @@ encoded_ordered_before (char *N0, char * else { int k0, k1; - for (k0 = strlen (N0) - 1; k0 > 0 && isdigit (N0[k0]); k0 -= 1) + for (k0 = strlen (N0) - 1; k0 > 0 && isdigit ((int) N0[k0]); k0 -= 1) ; - for (k1 = strlen (N1) - 1; k1 > 0 && isdigit (N1[k1]); k1 -= 1) + for (k1 = strlen (N1) - 1; k1 > 0 && isdigit ((int) N1[k1]); k1 -= 1) ; if ((N0[k0] == '_' || N0[k0] == '$') && N0[k0 + 1] != '\000' && (N1[k1] == '_' || N1[k1] == '$') && N1[k1 + 1] != '\000') @@ -3318,7 +3319,7 @@ get_selections (int *choices, int n_choi char *args2; int choice, j; - while (isspace (*args)) + while (isspace ((int) *args)) args += 1; if (*args == '\0' && n_chosen == 0) error_no_arg (_("one or more choice numbers")); @@ -4715,10 +4716,10 @@ is_name_suffix (const char *str) /* (__[0-9]+)?\.[0-9]+ */ matching = str; - if (len > 3 && str[0] == '_' && str[1] == '_' && isdigit (str[2])) + if (len > 3 && str[0] == '_' && str[1] == '_' && isdigit ((int) str[2])) { matching += 3; - while (isdigit (matching[0])) + while (isdigit ((int) matching[0])) matching += 1; if (matching[0] == '\0') return 1; @@ -4727,7 +4728,7 @@ is_name_suffix (const char *str) if (matching[0] == '.' || matching[0] == '$') { matching += 1; - while (isdigit (matching[0])) + while (isdigit ((int) matching[0])) matching += 1; if (matching[0] == '\0') return 1; @@ -4737,7 +4738,7 @@ is_name_suffix (const char *str) if (len > 3 && str[0] == '_' && str[1] == '_' && str[2] == '_') { matching = str + 3; - while (isdigit (matching[0])) + while (isdigit ((int) matching[0])) matching += 1; if (matching[0] == '\0') return 1; @@ -4761,10 +4762,10 @@ is_name_suffix (const char *str) #endif /* _E[0-9]+[bs]$ */ - if (len > 3 && str[0] == '_' && str [1] == 'E' && isdigit (str[2])) + if (len > 3 && str[0] == '_' && str [1] == 'E' && isdigit ((int) str[2])) { matching = str + 3; - while (isdigit (matching[0])) + while (isdigit ((int) matching[0])) matching += 1; if ((matching[0] == 'b' || matching[0] == 's') && matching [1] == '\0') @@ -4812,17 +4813,17 @@ is_name_suffix (const char *str) return 1; return 0; } - if (!isdigit (str[2])) + if (!isdigit ((int) str[2])) return 0; for (k = 3; str[k] != '\0'; k += 1) - if (!isdigit (str[k]) && str[k] != '_') + if (!isdigit ((int) str[k]) && str[k] != '_') return 0; return 1; } - if (str[0] == '$' && isdigit (str[1])) + if (str[0] == '$' && isdigit ((int) str[1])) { for (k = 2; str[k] != '\0'; k += 1) - if (!isdigit (str[k]) && str[k] != '_') + if (!isdigit ((int) str[k]) && str[k] != '_') return 0; return 1; } @@ -4847,7 +4848,7 @@ is_dot_digits_suffix (const char *str) return 0; str++; - while (isdigit (str[0])) + while (isdigit ((int) str[0])) str++; return (str[0] == '\0'); } @@ -4864,7 +4865,7 @@ is_valid_name_for_wild_match (const char int i; for (i=0; decoded_name[i] != '\0'; i++) - if (isalpha (decoded_name[i]) && !islower (decoded_name[i])) + if (isalpha ((int) decoded_name[i]) && !islower ((int) decoded_name[i])) return 0; return 1; @@ -4947,14 +4948,14 @@ wild_match (const char *patn0, int patn_ return 0; if (name[0] == '_') { - if (!islower (name[2])) + if (!islower ((int) name[2])) return 0; name += 2; name_len -= 2; } else { - if (!islower (name[1])) + if (!islower ((int) name[1])) return 0; name += 1; name_len -= 1; @@ -5240,7 +5241,7 @@ ada_tag_name_1 (void *args0) return 0; read_memory_string (value_as_address (val), name, sizeof (name) - 1); for (p = name; *p != '\0'; p += 1) - if (isalpha (*p)) + if (isalpha ((int) *p)) *p = tolower (*p); args->name = name; return 0; @@ -5275,7 +5276,7 @@ ada_tag_name_2 (struct tag_args *args) return 0; read_memory_string (value_as_address (val), name, sizeof (name) - 1); for (p = name; *p != '\0'; p += 1) - if (isalpha (*p)) + if (isalpha ((int) *p)) *p = tolower (*p); args->name = name; return 0; @@ -5449,14 +5450,14 @@ ada_scan_number (const char str[], int k { ULONGEST RU; - if (!isdigit (str[k])) + if (!isdigit ((int) str[k])) return 0; /* Do it the hard way so as not to make any assumption about the relationship of unsigned long (%lu scan format code) and LONGEST. */ RU = 0; - while (isdigit (str[k])) + while (isdigit ((int) str[k])) { RU = RU * 10 + (str[k] - '0'); k += 1; @@ -6116,10 +6117,10 @@ field_alignment (struct type *type, int int len = (name == NULL) ? 0 : strlen (name); int align_offset; - if (!isdigit (name[len - 1])) + if (!isdigit ((int) name[len - 1])) return 1; - if (isdigit (name[len - 2])) + if (isdigit ((int) name[len - 2])) align_offset = len - 2; else align_offset = len - 1; @@ -7228,7 +7229,7 @@ ada_enum_name (const char *name) { while ((tmp = strstr (name, "__")) != NULL) { - if (isdigit (tmp[2])) + if (isdigit ((int) tmp[2])) break; else name = tmp + 2; @@ -9532,7 +9533,7 @@ ada_get_next_arg (char **argsp) /* Skip any leading white space. */ - while (isspace (*args)) + while (isspace ((int) *args)) args++; if (args[0] == '\0') @@ -9541,7 +9542,7 @@ ada_get_next_arg (char **argsp) /* Find the end of the current argument. */ end = args; - while (*end != '\0' && !isspace (*end)) + while (*end != '\0' && !isspace ((int) *end)) end++; /* Adjust ARGSP to point to the start of the next argument. */ @@ -9576,7 +9577,7 @@ catch_ada_exception_command_split (char /* Check that we do not have any more arguments. Anything else is unexpected. */ - while (isspace (*args)) + while (isspace ((int) *args)) args++; if (args[0] != '\0') @@ -9797,7 +9798,7 @@ ada_decode_assert_location (char *args, if (args != NULL) { - while (isspace (*args)) + while (isspace ((int) *args)) args++; if (*args != '\0') error (_("Junk at end of arguments.")); Index: ada-lex.l =================================================================== RCS file: /cvs/src/src/gdb/ada-lex.l,v retrieving revision 1.17 diff -p -u -r1.17 ada-lex.l --- ada-lex.l 9 Jan 2007 17:58:49 -0000 1.17 +++ ada-lex.l 6 Apr 2007 22:06:45 -0000 @@ -330,7 +330,7 @@ processInt (const char *base0, const cha result = strtoulst (num0, (const char **) &trailer, base); if (errno == ERANGE) error (_("Integer literal out of range")); - if (isxdigit(*trailer)) + if (isxdigit((int) *trailer)) error (_("Invalid digit `%c' in based literal"), *trailer); while (exp > 0) @@ -406,12 +406,12 @@ processId (const char *name0, int len) int i0, i; struct stoken result; - while (len > 0 && isspace (name0[len-1])) + while (len > 0 && isspace ((int) name0[len-1])) len -= 1; i = i0 = 0; while (i0 < len) { - if (isalnum (name0[i0])) + if (isalnum ((int) name0[i0])) { name[i] = tolower (name0[i0]); i += 1; i0 += 1; @@ -510,9 +510,9 @@ find_dot_all (const char *str) int i0 = i; do i += 1; - while (isspace (str[i])); + while (isspace ((int) str[i])); if (strncmp (str+i, "all", 3) == 0 - && ! isalnum (str[i+3]) && str[i+3] != '_') + && ! isalnum ((int) str[i+3]) && str[i+3] != '_') return i0; } } Index: ada-typeprint.c =================================================================== RCS file: /cvs/src/src/gdb/ada-typeprint.c,v retrieving revision 1.15 diff -p -u -r1.15 ada-typeprint.c --- ada-typeprint.c 9 Jan 2007 17:58:49 -0000 1.15 +++ ada-typeprint.c 6 Apr 2007 22:06:45 -0000 @@ -95,7 +95,7 @@ decoded_type_name (struct type *type) if (s == name_buffer) return name_buffer; - if (!islower (s[1])) + if (!islower ((int) s[1])) return NULL; for (s = q = name_buffer; *s != '\0'; q += 1) Index: breakpoint.c =================================================================== RCS file: /cvs/src/src/gdb/breakpoint.c,v retrieving revision 1.243 diff -p -u -r1.243 breakpoint.c --- breakpoint.c 27 Mar 2007 23:01:00 -0000 1.243 +++ breakpoint.c 6 Apr 2007 22:06:45 -0000 @@ -425,7 +425,7 @@ get_number_trailer (char **pp, int trail char *start = ++p; struct value *val; - while (isalnum (*p) || *p == '_') + while (isalnum ((int) *p) || *p == '_') p++; varname = (char *) alloca (p - start + 1); strncpy (varname, start, p - start); @@ -457,14 +457,14 @@ get_number_trailer (char **pp, int trail else retval = atoi (*pp); } - if (!(isspace (*p) || *p == '\0' || *p == trailer)) + if (!(isspace ((int) *p) || *p == '\0' || *p == trailer)) { /* Trailing junk: return 0 and let caller print error msg. */ - while (!(isspace (*p) || *p == '\0' || *p == trailer)) + while (!(isspace ((int) *p) || *p == '\0' || *p == trailer)) ++p; retval = 0; } - while (isspace (*p)) + while (isspace ((int) *p)) p++; *pp = p; return retval; @@ -5145,7 +5145,7 @@ parse_breakpoint_sals (char **address, /* If no arg given, or if first arg is 'if ', use the default breakpoint. */ if ((*address) == NULL - || (strncmp ((*address), "if", 2) == 0 && isspace ((*address)[2]))) + || (strncmp ((*address), "if", 2) == 0 && isspace ((int) (*address)[2]))) { if (default_breakpoint_valid) { @@ -5710,7 +5710,7 @@ stopin_command (char *arg, int from_tty) if (hasColon) badInput = (*argptr != ':'); /* Not a class::method */ else - badInput = isdigit (*arg); /* a simple line number */ + badInput = isdigit ((int) *arg); /* a simple line number */ } if (badInput) @@ -5742,7 +5742,7 @@ stopat_command (char *arg, int from_tty) if (hasColon) badInput = (*argptr == ':'); /* we have class::method */ else - badInput = !isdigit (*arg); /* not a line number */ + badInput = !isdigit ((int) *arg); /* not a line number */ } if (badInput) @@ -6145,7 +6145,7 @@ ep_skip_leading_whitespace (char **s) { if ((s == NULL) || (*s == NULL)) return; - while (isspace (**s)) + while (isspace ((int) **s)) *s += 1; } @@ -6169,7 +6169,7 @@ ep_find_event_name_end (char *arg) anything else delimites the token. */ while (*s != '\0') { - if (!isalnum (*s) && (*s != '_')) + if (!isalnum ((int) *s) && (*s != '_')) break; event_name_end = s; s++; @@ -6192,7 +6192,7 @@ ep_parse_optional_if_clause (char **arg) { char *cond_string; - if (((*arg)[0] != 'i') || ((*arg)[1] != 'f') || !isspace ((*arg)[2])) + if (((*arg)[0] != 'i') || ((*arg)[1] != 'f') || !isspace ((int) (*arg)[2])) return NULL; /* Skip the "if" keyword. */ @@ -6227,13 +6227,13 @@ ep_parse_optional_filename (char **arg) int i; char c; - if ((*arg_p == '\0') || isspace (*arg_p)) + if ((*arg_p == '\0') || isspace ((int) *arg_p)) return NULL; for (i = 0;; i++) { c = *arg_p; - if (isspace (c)) + if (isspace ((int) c)) c = '\0'; filename[i] = c; if (c == '\0') @@ -6269,7 +6269,7 @@ catch_fork_command_1 (catch_fork_kind fo First, check if there's an if clause. */ cond_string = ep_parse_optional_if_clause (&arg); - if ((*arg != '\0') && !isspace (*arg)) + if ((*arg != '\0') && !isspace ((int) *arg)) error (_("Junk at end of arguments.")); /* If this target supports it, create a fork or vfork catchpoint @@ -6302,7 +6302,7 @@ catch_exec_command_1 (char *arg, int tem First, check if there's an if clause. */ cond_string = ep_parse_optional_if_clause (&arg); - if ((*arg != '\0') && !isspace (*arg)) + if ((*arg != '\0') && !isspace ((int) *arg)) error (_("Junk at end of arguments.")); /* If this target supports it, create an exec catchpoint @@ -6342,7 +6342,7 @@ catch_load_command_1 (char *arg, int tem cond_string = ep_parse_optional_if_clause (&arg); } - if ((*arg != '\0') && !isspace (*arg)) + if ((*arg != '\0') && !isspace ((int) *arg)) error (_("Junk at end of arguments.")); /* Create a load breakpoint that only triggers when a load of @@ -6384,7 +6384,7 @@ catch_unload_command_1 (char *arg, int t cond_string = ep_parse_optional_if_clause (&arg); } - if ((*arg != '\0') && !isspace (*arg)) + if ((*arg != '\0') && !isspace ((int) *arg)) error (_("Junk at end of arguments.")); /* Create an unload breakpoint that only triggers when an unload of @@ -6533,7 +6533,7 @@ catch_exception_command_1 (enum exceptio cond_string = ep_parse_optional_if_clause (&arg); - if ((*arg != '\0') && !isspace (*arg)) + if ((*arg != '\0') && !isspace ((int) *arg)) error (_("Junk at end of arguments.")); if ((ex_event != EX_EVENT_THROW) && Index: coffread.c =================================================================== RCS file: /cvs/src/src/gdb/coffread.c,v retrieving revision 1.66 diff -p -u -r1.66 coffread.c --- coffread.c 9 Jan 2007 17:58:50 -0000 1.66 +++ coffread.c 6 Apr 2007 22:06:45 -0000 @@ -220,7 +220,7 @@ coff_locate_sections (bfd *abfd, asectio /* We can have multiple .stab sections if linked with --split-by-reloc. */ for (s = name + sizeof ".stab" - 1; *s != '\0'; s++) - if (!isdigit (*s)) + if (!isdigit ((int) *s)) break; if (*s == '\0') { Index: completer.c =================================================================== RCS file: /cvs/src/src/gdb/completer.c,v retrieving revision 1.18 diff -p -u -r1.18 completer.c --- completer.c 9 Jan 2007 17:58:50 -0000 1.18 +++ completer.c 6 Apr 2007 22:06:45 -0000 @@ -437,7 +437,7 @@ complete_line (const char *text, char *l /* lookup_cmd_1 advances p up to the first ambiguous thing, but doesn't advance over that thing itself. Do so now. */ q = p; - while (*q && (isalnum (*q) || *q == '-' || *q == '_')) + while (*q && (isalnum ((int) *q) || *q == '-' || *q == '_')) ++q; if (q != tmp_command + point) { @@ -543,7 +543,7 @@ complete_line (const char *text, char *l q = p; while (q > tmp_command) { - if (isalnum (q[-1]) || q[-1] == '-' || q[-1] == '_') + if (isalnum ((int) q[-1]) || q[-1] == '-' || q[-1] == '_') --q; else break; Index: cp-support.c =================================================================== RCS file: /cvs/src/src/gdb/cp-support.c,v retrieving revision 1.23 diff -p -u -r1.23 cp-support.c --- cp-support.c 21 Jan 2007 16:55:49 -0000 1.23 +++ cp-support.c 6 Apr 2007 22:06:45 -0000 @@ -513,7 +513,7 @@ cp_find_first_component_aux (const char && strncmp (name + index, "operator", LENGTH_OF_OPERATOR) == 0) { index += LENGTH_OF_OPERATOR; - while (isspace(name[index])) + while (isspace((int) name[index])) ++index; switch (name[index]) { Index: exec.c =================================================================== RCS file: /cvs/src/src/gdb/exec.c,v retrieving revision 1.65 diff -p -u -r1.65 exec.c --- exec.c 9 Feb 2007 20:11:47 -0000 1.65 +++ exec.c 6 Apr 2007 22:06:45 -0000 @@ -645,7 +645,7 @@ set_section_command (char *args, int fro error (_("Must specify section name and its virtual address")); /* Parse out section name */ - for (secname = args; !isspace (*args); args++); + for (secname = args; !isspace ((int) *args); args++); seclen = args - secname; /* Parse out new virtual address */ Index: expprint.c =================================================================== RCS file: /cvs/src/src/gdb/expprint.c,v retrieving revision 1.26 diff -p -u -r1.26 expprint.c --- expprint.c 9 Jan 2007 17:58:50 -0000 1.26 +++ expprint.c 6 Apr 2007 22:06:45 -0000 @@ -809,7 +809,7 @@ dump_raw_expression (struct expression * eltscan++) { fprintf_filtered (stream, "%c", - isprint (*eltscan) ? (*eltscan & 0xFF) : '.'); + isprint ((int) (*eltscan ? *eltscan & 0xFF : '.'))); } fprintf_filtered (stream, "\n"); } Index: gnu-v2-abi.c =================================================================== RCS file: /cvs/src/src/gdb/gnu-v2-abi.c,v retrieving revision 1.24 diff -p -u -r1.24 gnu-v2-abi.c --- gnu-v2-abi.c 9 Jan 2007 17:58:51 -0000 1.24 +++ gnu-v2-abi.c 6 Apr 2007 22:06:45 -0000 @@ -53,7 +53,7 @@ static enum ctor_kinds gnuv2_is_constructor_name (const char *name) { if ((name[0] == '_' && name[1] == '_' - && (isdigit (name[2]) || strchr ("Qt", name[2]))) + && (isdigit ((int) name[2]) || strchr ("Qt", name[2]))) || strncmp (name, "__ct__", 6) == 0) return complete_object_ctor; else Index: infcmd.c =================================================================== RCS file: /cvs/src/src/gdb/infcmd.c,v retrieving revision 1.151 diff -p -u -r1.151 infcmd.c --- infcmd.c 27 Mar 2007 23:01:00 -0000 1.151 +++ infcmd.c 6 Apr 2007 22:06:46 -0000 @@ -1701,7 +1701,7 @@ registers_info (char *addr_exp, int fpre const char *end; /* Keep skipping leading white space. */ - if (isspace ((*addr_exp))) + if (isspace ((int) *addr_exp)) { addr_exp++; continue; @@ -1711,12 +1711,12 @@ registers_info (char *addr_exp, int fpre resembling a register following it. */ if (addr_exp[0] == '$') addr_exp++; - if (isspace ((*addr_exp)) || (*addr_exp) == '\0') + if (isspace ((int) *addr_exp) || *addr_exp == '\0') error (_("Missing register name")); /* Find the start/end of this register name/num/group. */ start = addr_exp; - while ((*addr_exp) != '\0' && !isspace ((*addr_exp))) + while ((*addr_exp) != '\0' && !isspace ((int) *addr_exp)) addr_exp++; end = addr_exp; Index: infrun.c =================================================================== RCS file: /cvs/src/src/gdb/infrun.c,v retrieving revision 1.225 diff -p -u -r1.225 infrun.c --- infrun.c 29 Mar 2007 07:35:39 -0000 1.225 +++ infrun.c 6 Apr 2007 22:06:46 -0000 @@ -3350,7 +3350,7 @@ handle_command (char *args, int from_tty while (*argv != NULL) { wordlen = strlen (*argv); - for (digits = 0; isdigit ((*argv)[digits]); digits++) + for (digits = 0; isdigit ((int) (*argv)[digits]); digits++) {; } allsigs = 0; Index: jv-exp.y =================================================================== RCS file: /cvs/src/src/gdb/jv-exp.y,v retrieving revision 1.24 diff -p -u -r1.24 jv-exp.y --- jv-exp.y 9 Jan 2007 17:58:51 -0000 1.24 +++ jv-exp.y 6 Apr 2007 22:06:46 -0000 @@ -724,7 +724,7 @@ parse_number (p, len, parsed_float, puti if (c == 'f' || c == 'F') putithere->typed_val_float.type = builtin_type_float; - else if (isdigit (c) || c == '.' || c == 'd' || c == 'D') + else if (isdigit ((int) c) || c == '.' || c == 'd' || c == 'D') putithere->typed_val_float.type = builtin_type_double; else return ERROR; Index: main.c =================================================================== RCS file: /cvs/src/src/gdb/main.c,v retrieving revision 1.62 diff -p -u -r1.62 main.c --- main.c 9 Jan 2007 21:34:29 -0000 1.62 +++ main.c 6 Apr 2007 22:06:46 -0000 @@ -736,7 +736,7 @@ extern int gdbtk_test (char *); If its first character is a digit, try attach first and then corefile. Otherwise try corefile first. */ - if (isdigit (corearg[0])) + if (isdigit ((int) corearg[0])) { if (catch_command_errors (attach_command, corearg, !batch, RETURN_MASK_ALL) == 0) Index: maint.c =================================================================== RCS file: /cvs/src/src/gdb/maint.c,v retrieving revision 1.59 diff -p -u -r1.59 maint.c --- maint.c 9 Jan 2007 17:58:52 -0000 1.59 +++ maint.c 6 Apr 2007 22:06:46 -0000 @@ -455,14 +455,14 @@ maintenance_translate_address (char *arg sect = NULL; p = arg; - if (!isdigit (*p)) + if (!isdigit ((int) *p)) { /* See if we have a valid section name */ - while (*p && !isspace (*p)) /* Find end of section name */ + while (*p && !isspace ((int) *p)) /* Find end of section name */ p++; if (*p == '\000') /* End of command? */ error (_("Need to specify and
")); *p++ = '\000'; - while (isspace (*p)) + while (isspace ((int) *p)) p++; /* Skip whitespace */ ALL_OBJFILES (objfile) Index: minsyms.c =================================================================== RCS file: /cvs/src/src/gdb/minsyms.c,v retrieving revision 1.49 diff -p -u -r1.49 minsyms.c --- minsyms.c 9 Jan 2007 22:14:35 -0000 1.49 +++ minsyms.c 6 Apr 2007 22:06:46 -0000 @@ -83,7 +83,7 @@ msymbol_hash_iw (const char *string) unsigned int hash = 0; while (*string && *string != '(') { - while (isspace (*string)) + while (isspace ((int) *string)) ++string; if (*string && *string != '(') { Index: objc-exp.y =================================================================== RCS file: /cvs/src/src/gdb/objc-exp.y,v retrieving revision 1.23 diff -p -u -r1.23 objc-exp.y --- objc-exp.y 9 Jan 2007 17:58:55 -0000 1.23 +++ objc-exp.y 6 Apr 2007 22:06:46 -0000 @@ -1034,7 +1034,7 @@ parse_number (p, len, parsed_float, puti putithere->typed_val_float.type = builtin_type_float; else if (c == 'l') putithere->typed_val_float.type = builtin_type_long_double; - else if (isdigit (c) || c == '.') + else if (isdigit ((int) c) || c == '.') putithere->typed_val_float.type = builtin_type_double; else return ERROR; Index: objc-lang.c =================================================================== RCS file: /cvs/src/src/gdb/objc-lang.c,v retrieving revision 1.52 diff -p -u -r1.52 objc-lang.c --- objc-lang.c 9 Jan 2007 17:58:55 -0000 1.52 +++ objc-lang.c 6 Apr 2007 22:06:46 -0000 @@ -1131,23 +1131,23 @@ parse_selector (char *method, char **sel s1 = method; - while (isspace (*s1)) + while (isspace ((int) *s1)) s1++; if (*s1 == '\'') { found_quote = 1; s1++; } - while (isspace (*s1)) + while (isspace ((int) *s1)) s1++; nselector = s1; s2 = s1; for (;;) { - if (isalnum (*s2) || (*s2 == '_') || (*s2 == ':')) + if (isalnum ((int) *s2) || (*s2 == '_') || (*s2 == ':')) *s1++ = *s2; - else if (isspace (*s2)) + else if (isspace ((int) *s2)) ; else if ((*s2 == '\0') || (*s2 == '\'')) break; @@ -1157,13 +1157,13 @@ parse_selector (char *method, char **sel } *s1++ = '\0'; - while (isspace (*s2)) + while (isspace ((int) *s2)) s2++; if (found_quote) { if (*s2 == '\'') s2++; - while (isspace (*s2)) + while (isspace ((int) *s2)) s2++; } @@ -1193,20 +1193,20 @@ parse_method (char *method, char *type, s1 = method; - while (isspace (*s1)) + while (isspace ((int) *s1)) s1++; if (*s1 == '\'') { found_quote = 1; s1++; } - while (isspace (*s1)) + while (isspace ((int) *s1)) s1++; if ((s1[0] == '+') || (s1[0] == '-')) ntype = *s1++; - while (isspace (*s1)) + while (isspace ((int) *s1)) s1++; if (*s1 != '[') @@ -1214,20 +1214,20 @@ parse_method (char *method, char *type, s1++; nclass = s1; - while (isalnum (*s1) || (*s1 == '_')) + while (isalnum ((int) *s1) || (*s1 == '_')) s1++; s2 = s1; - while (isspace (*s2)) + while (isspace ((int) *s2)) s2++; if (*s2 == '(') { s2++; - while (isspace (*s2)) + while (isspace ((int) *s2)) s2++; ncategory = s2; - while (isalnum (*s2) || (*s2 == '_')) + while (isalnum ((int) *s2) || (*s2 == '_')) s2++; *s2++ = '\0'; } @@ -1239,9 +1239,9 @@ parse_method (char *method, char *type, s1 = s2; for (;;) { - if (isalnum (*s2) || (*s2 == '_') || (*s2 == ':')) + if (isalnum ((int) *s2) || (*s2 == '_') || (*s2 == ':')) *s1++ = *s2; - else if (isspace (*s2)) + else if (isspace ((int) *s2)) ; else if (*s2 == ']') break; @@ -1252,14 +1252,14 @@ parse_method (char *method, char *type, *s1++ = '\0'; s2++; - while (isspace (*s2)) + while (isspace ((int) *s2)) s2++; if (found_quote) { if (*s2 != '\'') return NULL; s2++; - while (isspace (*s2)) + while (isspace ((int) *s2)) s2++; } Index: p-exp.y =================================================================== RCS file: /cvs/src/src/gdb/p-exp.y,v retrieving revision 1.34 diff -p -u -r1.34 p-exp.y --- p-exp.y 9 Jan 2007 17:58:55 -0000 1.34 +++ p-exp.y 6 Apr 2007 22:06:46 -0000 @@ -809,7 +809,7 @@ parse_number (p, len, parsed_float, puti putithere->typed_val_float.type = builtin_type_float; else if (c == 'l') putithere->typed_val_float.type = builtin_type_long_double; - else if (isdigit (c) || c == '.') + else if (isdigit ((int) c) || c == '.') putithere->typed_val_float.type = builtin_type_double; else return ERROR; @@ -1072,8 +1072,9 @@ yylex () if (explen > 2) for (i = 0; i < sizeof (tokentab3) / sizeof (tokentab3[0]); i++) if (strncasecmp (tokstart, tokentab3[i].operator, 3) == 0 - && (!isalpha (tokentab3[i].operator[0]) || explen == 3 - || (!isalpha (tokstart[3]) && !isdigit (tokstart[3]) && tokstart[3] != '_'))) + && (!isalpha ((int) tokentab3[i].operator[0]) || explen == 3 + || (!isalpha ((int) tokstart[3]) + && !isdigit ((int) tokstart[3]) && tokstart[3] != '_'))) { lexptr += 3; yylval.opcode = tokentab3[i].opcode; @@ -1084,8 +1085,9 @@ yylex () if (explen > 1) for (i = 0; i < sizeof (tokentab2) / sizeof (tokentab2[0]); i++) if (strncasecmp (tokstart, tokentab2[i].operator, 2) == 0 - && (!isalpha (tokentab2[i].operator[0]) || explen == 2 - || (!isalpha (tokstart[2]) && !isdigit (tokstart[2]) && tokstart[2] != '_'))) + && (!isalpha ((int) tokentab2[i].operator[0]) || explen == 2 + || (!isalpha ((int) tokstart[2]) + && !isdigit ((int) tokstart[2]) && tokstart[2] != '_'))) { lexptr += 2; yylval.opcode = tokentab2[i].opcode; Index: p-typeprint.c =================================================================== RCS file: /cvs/src/src/gdb/p-typeprint.c,v retrieving revision 1.18 diff -p -u -r1.18 p-typeprint.c --- p-typeprint.c 9 Jan 2007 17:58:55 -0000 1.18 +++ p-typeprint.c 6 Apr 2007 22:06:46 -0000 @@ -157,9 +157,9 @@ pascal_type_print_method_args (char *phy char *argname; fputs_filtered (" (", stream); /* we must demangle this */ - while (isdigit (physname[0])) + while (isdigit ((int) physname[0])) { - while (isdigit (physname[len])) + while (isdigit ((int) physname[len])) { len++; } Index: parse.c =================================================================== RCS file: /cvs/src/src/gdb/parse.c,v retrieving revision 1.57 diff -p -u -r1.57 parse.c --- parse.c 27 Feb 2007 19:46:04 -0000 1.57 +++ parse.c 6 Apr 2007 22:06:46 -0000 @@ -641,10 +641,10 @@ parse_nested_classes_for_hpacc (char *na /* Get to the end of the next namespace or class spec. */ /* If we're looking at some non-token, fail immediately */ start = p; - if (!(isalpha (*p) || *p == '$' || *p == '_')) + if (!(isalpha ((int) *p) || *p == '$' || *p == '_')) return (struct symbol *) NULL; p++; - while (*p && (isalnum (*p) || *p == '$' || *p == '_')) + while (*p && (isalnum ((int) *p) || *p == '$' || *p == '_')) p++; if (*p == '<') @@ -667,7 +667,7 @@ parse_nested_classes_for_hpacc (char *na p++; /* Done with tokens? */ - if (!*p || !(isalpha (*p) || *p == '$' || *p == '_')) + if (!*p || !(isalpha ((int) *p) || *p == '$' || *p == '_')) done = 1; tmp = (char *) alloca (prefix_len + end - start + 3); Index: remote-utils.c =================================================================== RCS file: /cvs/src/src/gdb/remote-utils.c,v retrieving revision 1.21 diff -p -u -r1.21 remote-utils.c --- remote-utils.c 9 Jan 2007 17:58:56 -0000 1.21 +++ remote-utils.c 6 Apr 2007 22:06:47 -0000 @@ -113,10 +113,10 @@ sr_scan_args (char *proto, char *args) return; /* scan off white space. */ - for (p = args; isspace (*p); ++p);; + for (p = args; isspace ((int) *p); ++p);; /* find end of device name. */ - for (q = p; *q != '\0' && !isspace (*q); ++q);; + for (q = p; *q != '\0' && !isspace ((int) *q); ++q);; /* check for missing or empty device name. */ CHECKDONE (p, q); @@ -137,7 +137,7 @@ sr_scan_args (char *proto, char *args) sr_set_debug (n); /* scan off remaining white space. */ - for (p = q; isspace (*p); ++p);; + for (p = q; isspace ((int) *p); ++p);; /* if not end of string, then there's unrecognized junk. */ if (*p != '\0') Index: remote.c =================================================================== RCS file: /cvs/src/src/gdb/remote.c,v retrieving revision 1.247 diff -p -u -r1.247 remote.c --- remote.c 27 Mar 2007 19:11:10 -0000 1.247 +++ remote.c 6 Apr 2007 22:06:47 -0000 @@ -811,7 +811,7 @@ packet_check_result (const char *buf) /* The stub recognized the packet request. Check that the operation succeeded. */ if (buf[0] == 'E' - && isxdigit (buf[1]) && isxdigit (buf[2]) + && isxdigit ((int) buf[1]) && isxdigit ((int) buf[2]) && buf[3] == '\0') /* "Enn" - definitly an error. */ return PACKET_ERROR; @@ -4342,7 +4342,7 @@ remote_read_bytes (CORE_ADDR memaddr, gd getpkt (&rs->buf, &rs->buf_size, 0); if (rs->buf[0] == 'E' - && isxdigit (rs->buf[1]) && isxdigit (rs->buf[2]) + && isxdigit ((int) rs->buf[1]) && isxdigit ((int) rs->buf[2]) && rs->buf[3] == '\0') { /* There is no correspondance between what the remote @@ -5716,7 +5716,7 @@ remote_xfer_partial (struct target_ops * while (annex[i] && (i < (get_remote_packet_size () - 8))) { /* Bad caller may have sent forbidden characters. */ - gdb_assert (isprint (annex[i]) && annex[i] != '$' && annex[i] != '#'); + gdb_assert (isprint ((int) annex[i]) && annex[i] != '$' && annex[i] != '#'); *p2++ = annex[i]; i++; } @@ -5779,7 +5779,7 @@ remote_rcmd (char *command, if (strcmp (buf, "OK") == 0) break; if (strlen (buf) == 3 && buf[0] == 'E' - && isdigit (buf[1]) && isdigit (buf[2])) + && isdigit ((int) buf[1]) && isdigit ((int) buf[2])) { error (_("Protocol error with Rcmd")); } Index: serial.c =================================================================== RCS file: /cvs/src/src/gdb/serial.c,v retrieving revision 1.28 diff -p -u -r1.28 serial.c --- serial.c 9 Jan 2007 17:58:58 -0000 1.28 +++ serial.c 6 Apr 2007 22:06:47 -0000 @@ -191,7 +191,7 @@ serial_open (const char *name) ops = serial_interface_lookup ("pipe"); /* Discard ``|'' and any space before the command itself. */ ++open_name; - while (isspace (*open_name)) + while (isspace ((int) *open_name)) ++open_name; } /* Check for a colon, suggesting an IP address/port pair. Index: stabsread.c =================================================================== RCS file: /cvs/src/src/gdb/stabsread.c,v retrieving revision 1.88 diff -p -u -r1.88 stabsread.c --- stabsread.c 29 Mar 2007 18:33:58 -0000 1.88 +++ stabsread.c 6 Apr 2007 22:06:47 -0000 @@ -554,7 +554,7 @@ process_reference (char **string) p = *string + 1; /* Read number as reference id. */ - while (*p && isdigit (*p)) + while (*p && isdigit ((int) *p)) { refnum = refnum * 10 + *p - '0'; p++; @@ -707,7 +707,7 @@ define_symbol (CORE_ADDR valu, char *str deftypes we know how to handle is a local. */ if (!strchr ("cfFGpPrStTvVXCR", *p)) #else - if (isdigit (*p) || *p == '(' || *p == '-') + if (isdigit ((int) *p) || *p == '(' || *p == '-') #endif deftype = 'l'; else @@ -1765,7 +1765,7 @@ again: break; case '@': - if (isdigit (**pp) || **pp == '(' || **pp == '-') + if (isdigit ((int) **pp) || **pp == '(' || **pp == '-') { /* Member (class & variable) type */ /* FIXME -- we should be doing smash_to_XXX types here. */ Index: stack.c =================================================================== RCS file: /cvs/src/src/gdb/stack.c,v retrieving revision 1.143 diff -p -u -r1.143 stack.c --- stack.c 29 Mar 2007 07:35:39 -0000 1.143 +++ stack.c 6 Apr 2007 22:06:48 -0000 @@ -720,14 +720,14 @@ parse_frame_specification_1 (const char const char *p; /* Skip leading white space, bail of EOL. */ - while (isspace (*frame_exp)) + while (isspace ((int) *frame_exp)) frame_exp++; if (!*frame_exp) break; /* Parse the argument, extract it, save it. */ for (p = frame_exp; - *p && !isspace (*p); + *p && !isspace ((int) *p); p++); addr_string = savestring (frame_exp, p - frame_exp); frame_exp = p; Index: symfile.c =================================================================== RCS file: /cvs/src/src/gdb/symfile.c,v retrieving revision 1.182 diff -p -u -r1.182 symfile.c --- symfile.c 26 Feb 2007 20:04:38 -0000 1.182 +++ symfile.c 6 Apr 2007 22:06:48 -0000 @@ -2414,7 +2414,7 @@ set_ext_lang_command (char *args, int fr error (_("'%s': Filename extension must begin with '.'"), ext_args); /* Find end of first arg. */ - while (*cp && !isspace (*cp)) + while (*cp && !isspace ((int) *cp)) cp++; if (*cp == '\0') @@ -2425,7 +2425,7 @@ set_ext_lang_command (char *args, int fr *cp++ = '\0'; /* Find beginning of second arg, which should be a source language. */ - while (*cp && isspace (*cp)) + while (*cp && isspace ((int) *cp)) cp++; if (*cp == '\0') Index: symtab.c =================================================================== RCS file: /cvs/src/src/gdb/symtab.c,v retrieving revision 1.156 diff -p -u -r1.156 symtab.c --- symtab.c 28 Mar 2007 00:12:15 -0000 1.156 +++ symtab.c 6 Apr 2007 22:06:49 -0000 @@ -2568,7 +2568,7 @@ operator_chars (char *p, char **end) /* Don't get faked out by `operator' being part of a longer identifier. */ - if (isalpha (*p) || *p == '_' || *p == '$' || *p == '\0') + if (isalpha ((int) *p) || *p == '_' || *p == '$' || *p == '\0') return *end; /* Allow some whitespace between `operator' and the operator symbol. */ @@ -2577,10 +2577,10 @@ operator_chars (char *p, char **end) /* Recognize 'operator TYPENAME'. */ - if (isalpha (*p) || *p == '_' || *p == '$') + if (isalpha ((int) *p) || *p == '_' || *p == '$') { char *q = p + 1; - while (isalnum (*q) || *q == '_' || *q == '$') + while (isalnum ((int) *q) || *q == '_' || *q == '$') q++; *end = q; return p; @@ -2968,7 +2968,7 @@ search_symbols (char *regexp, domain_enu if (*opname) { int fix = -1; /* -1 means ok; otherwise number of spaces needed. */ - if (isalpha (*opname) || *opname == '_' || *opname == '$') + if (isalpha ((int) *opname) || *opname == '_' || *opname == '$') { /* There should 1 space between 'operator' and 'TYPENAME'. */ if (opname[-1] != ' ' || opname[-2] == ' ') @@ -3510,7 +3510,7 @@ language_search_unquoted_string (char *t { for (; p > text; --p) { - if (isalnum (p[-1]) || p[-1] == '_' || p[-1] == '\0') + if (isalnum ((int) p[-1]) || p[-1] == '_' || p[-1] == '\0') continue; else { @@ -3530,7 +3530,7 @@ language_search_unquoted_string (char *t Unfortunately we have to find it now to decide. */ while (t > text) - if (isalnum (t[-1]) || t[-1] == '_' || + if (isalnum ((int) t[-1]) || t[-1] == '_' || t[-1] == ' ' || t[-1] == ':' || t[-1] == '(' || t[-1] == ')') --t; @@ -3617,7 +3617,7 @@ make_symbol_completion_list (char *text, which are in symbols. */ while (p > text) { - if (isalnum (p[-1]) || p[-1] == '_' || p[-1] == '\0') + if (isalnum ((int) p[-1]) || p[-1] == '_' || p[-1] == '\0') --p; else break; Index: thread.c =================================================================== RCS file: /cvs/src/src/gdb/thread.c,v retrieving revision 1.52 diff -p -u -r1.52 thread.c --- thread.c 30 Mar 2007 12:57:43 -0000 1.52 +++ thread.c 6 Apr 2007 22:06:49 -0000 @@ -584,7 +584,7 @@ thread_apply_command (char *tidlist, int if (tidlist == NULL || *tidlist == '\000') error (_("Please specify a thread ID list")); - for (cmd = tidlist; *cmd != '\000' && !isalpha (*cmd); cmd++); + for (cmd = tidlist; *cmd != '\000' && !isalpha ((int) *cmd); cmd++); if (*cmd == '\000') error (_("Please specify a command following the thread ID list")); Index: utils.c =================================================================== RCS file: /cvs/src/src/gdb/utils.c,v retrieving revision 1.176 diff -p -u -r1.176 utils.c --- utils.c 30 Mar 2007 09:31:31 -0000 1.176 +++ utils.c 6 Apr 2007 22:06:49 -0000 @@ -2310,11 +2310,11 @@ strcmp_iw (const char *string1, const ch { while ((*string1 != '\0') && (*string2 != '\0')) { - while (isspace (*string1)) + while (isspace ((int) *string1)) { string1++; } - while (isspace (*string2)) + while (isspace ((int) *string2)) { string2++; } @@ -2369,11 +2369,11 @@ strcmp_iw_ordered (const char *string1, { while ((*string1 != '\0') && (*string2 != '\0')) { - while (isspace (*string1)) + while (isspace ((int) *string1)) { string1++; } - while (isspace (*string2)) + while (isspace ((int) *string2)) { string2++; } @@ -2846,9 +2846,9 @@ string_to_core_addr (const char *my_stri int i; for (i = 2; my_string[i] != '\0'; i++) { - if (isdigit (my_string[i])) + if (isdigit ((int) my_string[i])) addr = (my_string[i] - '0') + (addr * 16); - else if (isxdigit (my_string[i])) + else if (isxdigit ((int) my_string[i])) addr = (tolower (my_string[i]) - 'a' + 0xa) + (addr * 16); else error (_("invalid hex \"%s\""), my_string); @@ -2860,7 +2860,7 @@ string_to_core_addr (const char *my_stri int i; for (i = 0; my_string[i] != '\0'; i++) { - if (isdigit (my_string[i])) + if (isdigit ((int) my_string[i])) addr = (my_string[i] - '0') + (addr * 10); else error (_("invalid decimal \"%s\""), my_string); @@ -3136,7 +3136,7 @@ strtoulst (const char *num, const char * int i = 0; /* Skip leading whitespace. */ - while (isspace (num[i])) + while (isspace ((int) num[i])) i++; /* Handle prefixes. */ Index: cli/cli-cmds.c =================================================================== RCS file: /cvs/src/src/gdb/cli/cli-cmds.c,v retrieving revision 1.70 diff -p -u -r1.70 cli-cmds.c --- cli/cli-cmds.c 27 Feb 2007 19:46:04 -0000 1.70 +++ cli/cli-cmds.c 6 Apr 2007 22:06:49 -0000 @@ -499,17 +499,17 @@ source_command (char *args, int from_tty if (args) { /* Make sure leading white space does not break the comparisons. */ - while (isspace(args[0])) + while (isspace((int) args[0])) args++; /* Is -v the first thing in the string? */ - if (args[0] == '-' && args[1] == 'v' && isspace (args[2])) + if (args[0] == '-' && args[1] == 'v' && isspace ((int) args[2])) { source_verbose = 1; /* Trim -v and whitespace from the filename. */ file = &args[3]; - while (isspace (file[0])) + while (isspace ((int) file[0])) file++; } } Index: cli/cli-decode.c =================================================================== RCS file: /cvs/src/src/gdb/cli/cli-decode.c,v retrieving revision 1.60 diff -p -u -r1.60 cli-decode.c --- cli/cli-decode.c 9 Jan 2007 17:59:00 -0000 1.60 +++ cli/cli-decode.c 6 Apr 2007 22:06:49 -0000 @@ -925,7 +925,7 @@ print_doc_line (struct ui_file *stream, } strncpy (line_buffer, str, p - str); line_buffer[p - str] = '\0'; - if (islower (line_buffer[0])) + if (islower ((int) line_buffer[0])) line_buffer[0] = toupper (line_buffer[0]); ui_out_text (uiout, line_buffer); } @@ -1027,7 +1027,7 @@ find_command_name_length (const char *te used as a suffix for print, examine and display. Note that this is larger than the character set allowed when creating user-defined commands. */ - while (isalnum (*p) || *p == '-' || *p == '_' || + while (isalnum ((int) *p) || *p == '-' || *p == '_' || /* Characters used by TUI specific commands. */ *p == '+' || *p == '<' || *p == '>' || *p == '$' || /* Characters used for XDB compatibility. */ @@ -1118,7 +1118,7 @@ lookup_cmd_1 (char **text, struct cmd_li for (tmp = 0; tmp < len; tmp++) { char x = command[tmp]; - command[tmp] = isupper (x) ? tolower (x) : x; + command[tmp] = isupper ((int) x) ? tolower (x) : x; } found = find_cmd (command, len, clist, ignore_help_classes, &nfound); } @@ -1474,7 +1474,7 @@ lookup_cmd_composition (char *text, for (tmp = 0; tmp < len; tmp++) { char x = command[tmp]; - command[tmp] = isupper (x) ? tolower (x) : x; + command[tmp] = isupper ((int) x) ? tolower (x) : x; } *cmd = find_cmd (command, len, cur_list, 1, &nfound); } Index: cli/cli-dump.c =================================================================== RCS file: /cvs/src/src/gdb/cli/cli-dump.c,v retrieving revision 1.26 diff -p -u -r1.26 cli-dump.c --- cli/cli-dump.c 8 Mar 2007 16:54:02 -0000 1.26 +++ cli/cli-dump.c 6 Apr 2007 22:06:49 -0000 @@ -41,7 +41,7 @@ skip_spaces (char *chp) { if (chp == NULL) return NULL; - while (isspace (*chp)) + while (isspace ((int) *chp)) chp++; return chp; } Index: cli/cli-script.c =================================================================== RCS file: /cvs/src/src/gdb/cli/cli-script.c,v retrieving revision 1.40 diff -p -u -r1.40 cli-script.c --- cli/cli-script.c 27 Jan 2007 12:30:46 -0000 1.40 +++ cli/cli-script.c 6 Apr 2007 22:06:49 -0000 @@ -683,7 +683,7 @@ locate_arg (char *p) while ((p = strchr (p, '$'))) { if (strncmp (p, "$arg", 4) == 0 - && (isdigit (p[4]) || p[4] == 'c')) + && (isdigit ((int) p[4]) || p[4] == 'c')) return p; p++; } @@ -866,7 +866,7 @@ read_next_line (struct command_line **co { char *first_arg; first_arg = p + 5; - while (first_arg < p1 && isspace (*first_arg)) + while (first_arg < p1 && isspace ((int) *first_arg)) first_arg++; *command = build_command_line (while_control, first_arg); } @@ -874,7 +874,7 @@ read_next_line (struct command_line **co { char *first_arg; first_arg = p + 2; - while (first_arg < p1 && isspace (*first_arg)) + while (first_arg < p1 && isspace ((int) *first_arg)) first_arg++; *command = build_command_line (if_control, first_arg); } @@ -882,7 +882,7 @@ read_next_line (struct command_line **co { char *first_arg; first_arg = p + 8; - while (first_arg < p1 && isspace (*first_arg)) + while (first_arg < p1 && isspace ((int) *first_arg)) first_arg++; *command = build_command_line (commands_control, first_arg); } @@ -1205,7 +1205,7 @@ validate_comname (char *comname) p = comname; while (*p) { - if (!isalnum (*p) && *p != '-' && *p != '_') + if (!isalnum ((int) *p) && *p != '-' && *p != '_') error (_("Junk in argument list: \"%s\""), p); p++; } @@ -1294,7 +1294,7 @@ define_command (char *comname, int from_ /* If the rest of the commands will be case insensitive, this one should behave in the same manner. */ for (tem = comname; *tem; tem++) - if (isupper (*tem)) + if (isupper ((int) *tem)) *tem = tolower (*tem); sprintf (tmpbuf, "Type commands for definition of \"%s\".", comname); Index: cli/cli-setshow.c =================================================================== RCS file: /cvs/src/src/gdb/cli/cli-setshow.c,v retrieving revision 1.29 diff -p -u -r1.29 cli-setshow.c --- cli/cli-setshow.c 9 Jan 2007 17:59:00 -0000 1.29 +++ cli/cli-setshow.c 6 Apr 2007 22:06:49 -0000 @@ -40,7 +40,7 @@ parse_auto_binary_operation (const char if (arg != NULL && *arg != '\0') { int length = strlen (arg); - while (isspace (arg[length - 1]) && length > 0) + while (isspace ((int) arg[length - 1]) && length > 0) length--; if (strncmp (arg, "on", length) == 0 || strncmp (arg, "1", length) == 0 Index: mi/mi-cmd-var.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-cmd-var.c,v retrieving revision 1.31 diff -p -u -r1.31 mi-cmd-var.c --- mi/mi-cmd-var.c 27 Feb 2007 23:42:33 -0000 1.31 +++ mi/mi-cmd-var.c 6 Apr 2007 22:06:49 -0000 @@ -102,7 +102,7 @@ mi_cmd_var_create (char *command, char * xfree (name); name = varobj_gen_name (); } - else if (!isalpha (*name)) + else if (!isalpha ((int) *name)) error (_("mi_cmd_var_create: name of object must begin with a letter")); if (strcmp (frame, "*") == 0) Index: mi/mi-parse.c =================================================================== RCS file: /cvs/src/src/gdb/mi/mi-parse.c,v retrieving revision 1.12 diff -p -u -r1.12 mi-parse.c --- mi/mi-parse.c 9 Jan 2007 17:59:08 -0000 1.12 +++ mi/mi-parse.c 6 Apr 2007 22:06:49 -0000 @@ -39,7 +39,7 @@ mi_parse_argv (char *args, struct mi_par { char *arg; /* skip leading white space */ - while (isspace (*chp)) + while (isspace ((int) *chp)) chp++; /* Three possibilities: EOF, quoted string, or other text. */ switch (*chp) @@ -79,7 +79,7 @@ mi_parse_argv (char *args, struct mi_par return; } /* Insist on trailing white space. */ - if (chp[1] != '\0' && !isspace (chp[1])) + if (chp[1] != '\0' && !isspace ((int) chp[1])) { freeargv (argv); return; @@ -110,7 +110,7 @@ mi_parse_argv (char *args, struct mi_par characters into a buffer. */ int len; char *start = chp; - while (*chp != '\0' && !isspace (*chp)) + while (*chp != '\0' && !isspace ((int) *chp)) { chp++; } @@ -154,7 +154,7 @@ mi_parse (char *cmd) memset (parse, 0, sizeof (*parse)); /* Before starting, skip leading white space. */ - while (isspace (*cmd)) + while (isspace ((int) *cmd)) cmd++; /* Find/skip any token and then extract it. */ @@ -167,7 +167,7 @@ mi_parse (char *cmd) /* This wasn't a real MI command. Return it as a CLI_COMMAND. */ if (*chp != '-') { - while (isspace (*chp)) + while (isspace ((int) *chp)) chp++; parse->command = xstrdup (chp); parse->op = CLI_COMMAND; @@ -177,7 +177,7 @@ mi_parse (char *cmd) /* Extract the command. */ { char *tmp = chp + 1; /* discard ``-'' */ - for (; *chp && !isspace (*chp); chp++) + for (; *chp && !isspace ((int) *chp); chp++) ; parse->command = xmalloc ((chp - tmp + 1) * sizeof (char *)); memcpy (parse->command, tmp, chp - tmp); @@ -198,7 +198,7 @@ mi_parse (char *cmd) } /* Skip white space following the command. */ - while (isspace (*chp)) + while (isspace ((int) *chp)) chp++; /* For new argv commands, attempt to return the parsed argument Index: tui/tui-win.c =================================================================== RCS file: /cvs/src/src/gdb/tui/tui-win.c,v retrieving revision 1.33 diff -p -u -r1.33 tui-win.c --- tui/tui-win.c 27 Feb 2007 19:46:04 -0000 1.33 +++ tui/tui-win.c 6 Apr 2007 22:06:50 -0000 @@ -1501,7 +1501,7 @@ parse_scrolling_args (char *arg, struct /* process the number of lines to scroll */ buf = buf_ptr = xstrdup (arg); - if (isdigit (*buf_ptr)) + if (isdigit ((int) *buf_ptr)) { char *num_str;