From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kaveh R. Ghazi" To: egcs@cygnus.com Subject: egcs-19980425, system.h stuff part 4/6 Date: Fri, 01 May 1998 21:25:00 -0000 Message-id: <199805020037.UAA12315@caip.rutgers.edu> X-SW-Source: 1998-05/msg00023.html This is part 4/6. Note, I only found one instance where the argument to a ctype macro had side effects. This was in cccp.c. Please double check that I preserved the correct behavior of that code. (Some of the patches listed in the ChangeLog are in part 5.) Fri May 1 15:56:40 1998 Kaveh R. Ghazi * c-common.c: Convert to using ctype macros defined in system.h. * c-lex.c: Likewise. * cccp.c: Likewise. * collect2.c: Likewise. * rs6000.c: Likewise. * cpplib.c: Likewise. * fix-header.c: Likewise. * gcc.c: Likewise. * gen-protos.c: Likewise. * pexecute.c: Likewise. * protoize.c: Likewise. * rtl.c: Likewise. * scan.c: Likewise. * stmt.c: Likewise. * tlink.c: Likewise. * toplev.c: Likewise. diff -rup orig/egcs-19980425/gcc/c-common.c egcs-19980425/gcc/c-common.c --- orig/egcs-19980425/gcc/c-common.c Fri Apr 24 02:27:03 1998 +++ egcs-19980425/gcc/c-common.c Fri May 1 15:00:28 1998 @@ -1350,7 +1350,7 @@ check_format_info (info, params) suppressed = *format_chars == '*'; if (suppressed) ++format_chars; - while (isdigit (*format_chars)) + while (ISDIGIT (*format_chars)) ++format_chars; } else if (info->format_type == strftime_format_type) @@ -1373,7 +1373,7 @@ check_format_info (info, params) flag_chars[i] = 0; } } - while (isdigit ((unsigned char) *format_chars)) + while (ISDIGIT ((unsigned char) *format_chars)) { wide = TRUE; ++format_chars; @@ -1474,7 +1474,7 @@ check_format_info (info, params) } else { - while (isdigit (*format_chars)) + while (ISDIGIT (*format_chars)) { wide = TRUE; ++format_chars; @@ -1484,7 +1484,7 @@ check_format_info (info, params) { precise = TRUE; ++format_chars; - if (*format_chars != '*' && !isdigit (*format_chars)) + if (*format_chars != '*' && !ISDIGIT (*format_chars)) warning ("`.' not followed by `*' or digit in format"); /* "...a...precision...may be indicated by an asterisk. In this case, an int argument supplies the...precision." */ @@ -1509,7 +1509,7 @@ check_format_info (info, params) } else { - while (isdigit (*format_chars)) + while (ISDIGIT (*format_chars)) ++format_chars; } } diff -rup orig/egcs-19980425/gcc/c-lex.c egcs-19980425/gcc/c-lex.c --- orig/egcs-19980425/gcc/c-lex.c Thu Apr 16 18:22:43 1998 +++ egcs-19980425/gcc/c-lex.c Fri May 1 15:01:02 1998 @@ -1254,7 +1254,7 @@ yylex () case '$': letter: p = token_buffer; - while (isalnum (c) || c == '_' || c == '$' || c == '@') + while (ISALNUM (c) || c == '_' || c == '$' || c == '@') { /* Make sure this char really belongs in an identifier. */ if (c == '@' && ! doing_objc_thang) @@ -1366,7 +1366,7 @@ yylex () next_c = GETC (); UNGETC (next_c); /* Always undo this lookahead. */ - if (!isalnum (next_c) && next_c != '.') + if (!ISALNUM (next_c) && next_c != '.') { token_buffer[0] = (char)c, token_buffer[1] = '\0'; yylval.ttype = (c == '0') ? integer_zero_node : integer_one_node; @@ -1423,7 +1423,7 @@ yylex () /* Read all the digits-and-decimal-points. */ while (c == '.' - || (isalnum (c) && c != 'l' && c != 'L' + || (ISALNUM (c) && c != 'l' && c != 'L' && c != 'u' && c != 'U' && c != 'i' && c != 'I' && c != 'j' && c != 'J' && (floatflag == NOT_FLOAT || ((c != 'f') && (c != 'F'))))) @@ -1452,7 +1452,7 @@ yylex () only when it is followed by a digit. Otherwise, unread the following non-digit and use the '.' as a structural token. */ - if (p == token_buffer + 2 && !isdigit (c)) + if (p == token_buffer + 2 && !ISDIGIT (c)) { if (c == '.') { @@ -1476,7 +1476,7 @@ yylex () /* It is not a decimal point. It should be a digit (perhaps a hex digit). */ - if (isdigit (c)) + if (ISDIGIT (c)) { c = c - '0'; } @@ -1558,9 +1558,9 @@ yylex () *p++ = c; c = GETC(); } - if (! isdigit (c)) + if (! ISDIGIT (c)) error ("floating constant exponent has no digits"); - while (isdigit (c)) + while (ISDIGIT (c)) { if (p >= token_buffer + maxtoken - 3) p = extend_token_buffer (p); @@ -1875,7 +1875,7 @@ yylex () UNGETC (c); *p = 0; - if (isalnum (c) || c == '.' || c == '_' || c == '$' + if (ISALNUM (c) || c == '.' || c == '_' || c == '$' || (!flag_traditional && (c == '-' || c == '+') && (p[-1] == 'e' || p[-1] == 'E'))) error ("missing white space after number `%s'", token_buffer); @@ -1922,7 +1922,7 @@ yylex () && (unsigned) c >= (1 << width)) pedwarn ("escape sequence out of range for character"); #ifdef MAP_CHARACTER - if (isprint (c)) + if (ISPRINT (c)) c = MAP_CHARACTER (c); #endif } diff -rup orig/egcs-19980425/gcc/cccp.c egcs-19980425/gcc/cccp.c --- orig/egcs-19980425/gcc/cccp.c Mon Apr 6 10:01:23 1998 +++ egcs-19980425/gcc/cccp.c Fri May 1 15:01:25 1998 @@ -1725,7 +1725,7 @@ main (argc, argv) if (*vers == 'V') vers++; - if (isdigit (*vers)) + if (ISDIGIT (*vers)) { vms_version_value = (*vers - '0') * 10000000; } @@ -1733,7 +1733,7 @@ main (argc, argv) if (*vers == '.') { vers++; - if (isdigit (*vers)) + if (ISDIGIT (*vers)) { vms_version_value += (*vers - '0') * 100000; } @@ -2478,10 +2478,10 @@ get_lintcmd (ibp, limit, argstart, argle if ((linsize >= 7) && !bcmp (ibp, "VARARGS", 7)) { *cmdlen = 7; ibp += 7; linsize -= 7; - if ((linsize == 0) || ! isdigit (*ibp)) return "VARARGS"; + if ((linsize == 0) || ! ISDIGIT (*ibp)) return "VARARGS"; /* OK, read a number */ - for (numptr = *argstart = ibp; (numptr < limit) && isdigit (*numptr); + for (numptr = *argstart = ibp; (numptr < limit) && ISDIGIT (*numptr); numptr++); *arglen = numptr - *argstart; return "VARARGS"; @@ -4353,8 +4353,8 @@ get_filename: * code from case '<' is repeated here) and generates a warning. * (Note: macro expansion of `xyz' takes precedence.) */ - if (retried && isalpha(*(U_CHAR *) (--fbeg))) { - while (fin != limit && (!isspace(*fin))) + if (retried && --fbeg && ISALPHA(*(U_CHAR *) (fbeg))) { + while (fin != limit && (!ISSPACE(*fin))) *fend++ = *fin++; warning ("VAX-C-style include specification found, use '#include ' !"); vaxc_include = 1; @@ -4648,7 +4648,7 @@ base_name (fname) char *s = fname; char *p; #if defined (__MSDOS__) || defined (_WIN32) - if (isalpha (s[0]) && s[1] == ':') s += 2; + if (ISALPHA (s[0]) && s[1] == ':') s += 2; #endif #ifdef VMS if ((p = rindex (s, ':'))) s = p + 1; /* Skip device. */ @@ -4671,11 +4671,11 @@ absolute_filename (filename) char *filename; { #if defined (__MSDOS__) || (defined (_WIN32) && !defined (__CYGWIN32__)) - if (isalpha (filename[0]) && filename[1] == ':') filename += 2; + if (ISALPHA (filename[0]) && filename[1] == ':') filename += 2; #endif #if defined (__CYGWIN32__) /* At present, any path that begins with a drive spec is absolute. */ - if (isalpha (filename[0]) && filename[1] == ':') return 1; + if (ISALPHA (filename[0]) && filename[1] == ':') return 1; #endif if (filename[0] == '/') return 1; #ifdef DIR_SEPARATOR @@ -6603,7 +6603,7 @@ do_line (buf, limit, op, keyword) bp = tem.buf; SKIP_WHITE_SPACE (bp); - if (!isdigit (*bp)) { + if (!ISDIGIT (*bp)) { error ("invalid format `#line' directive"); return 0; } @@ -6618,7 +6618,7 @@ do_line (buf, limit, op, keyword) pedwarn ("line number out of range in `#line' directive"); /* skip over the line number. */ - while (isdigit (*bp)) + while (ISDIGIT (*bp)) bp++; #if 0 /* #line 10"foo.c" is supposed to be allowed. */ @@ -7100,7 +7100,7 @@ do_xifdef (buf, limit, op, keyword) HASHNODE *hp; if (! traditional) { - if (isdigit (buf[0])) + if (ISDIGIT (buf[0])) pedwarn ("`#%s' argument starts with a digit", keyword->name); else if (end != limit) pedwarn ("garbage at end of `#%s' argument", keyword->name); @@ -7844,7 +7844,7 @@ quote_string (dst, src, srclen) switch ((c = *src++)) { default: - if (isprint (c)) + if (ISPRINT (c)) *dst++ = c; else { diff -rup orig/egcs-19980425/gcc/collect2.c egcs-19980425/gcc/collect2.c --- orig/egcs-19980425/gcc/collect2.c Mon Apr 6 16:51:28 1998 +++ egcs-19980425/gcc/collect2.c Fri May 1 15:02:02 1998 @@ -565,7 +565,7 @@ dump_file (name) { int c; while (c = getc (stream), - c != EOF && (isalnum (c) || c == '_' || c == '$' || c == '.')) + c != EOF && (ISALNUM (c) || c == '_' || c == '$' || c == '.')) obstack_1grow (&temporary_obstack, c); if (obstack_object_size (&temporary_obstack) > 0) { @@ -1853,7 +1853,7 @@ write_c_file_stat (stream, name) strncpy (prefix, p, q - p); prefix[q - p] = 0; for (q = prefix; *q; q++) - if (!isalnum (*q)) + if (!ISALNUM (*q)) *q = '_'; if (debug) fprintf (stderr, "\nwrite_c_file - output name is %s, prefix is %s\n", @@ -2169,7 +2169,7 @@ scan_prog_file (prog_name, which_pass) name = p; /* Find the end of the symbol name. Do not include `|', because Encore nm can tack that on the end. */ - for (end = p; (ch2 = *end) != '\0' && !isspace (ch2) && ch2 != '|'; + for (end = p; (ch2 = *end) != '\0' && !ISSPACE (ch2) && ch2 != '|'; end++) continue; @@ -2303,7 +2303,7 @@ libcompare (d1, d2) char *e2 = (*d2)->d_name + i2; while (*e1 && *e2 && *e1 == '.' && *e2 == '.' - && e1[1] && isdigit (e1[1]) && e2[1] && isdigit (e2[1])) + && e1[1] && ISDIGIT (e1[1]) && e2[1] && ISDIGIT (e2[1])) { ++e1; ++e2; @@ -2316,7 +2316,7 @@ libcompare (d1, d2) if (*e1) { /* It has a valid numeric extension, prefer this one. */ - if (*e1 == '.' && e1[1] && isdigit (e1[1])) + if (*e1 == '.' && e1[1] && ISDIGIT (e1[1])) return 1; /* It has a invalid numeric extension, must prefer the other one. */ else @@ -2325,7 +2325,7 @@ libcompare (d1, d2) else if (*e2) { /* It has a valid numeric extension, prefer this one. */ - if (*e2 == '.' && e2[1] && isdigit (e2[1])) + if (*e2 == '.' && e2[1] && ISDIGIT (e2[1])) return -1; /* It has a invalid numeric extension, must prefer the other one. */ else @@ -2609,7 +2609,7 @@ scan_libraries (prog_name) /* Find the end of the symbol name. */ for (end = p; - (ch2 = *end) != '\0' && ch2 != '\n' && !isspace (ch2) && ch2 != '|'; + (ch2 = *end) != '\0' && ch2 != '\n' && !ISSPACE (ch2) && ch2 != '|'; end++) continue; *end = '\0'; diff -rup orig/egcs-19980425/gcc/config/rs6000/rs6000.c egcs-19980425/gcc/config/rs6000/rs6000.c --- orig/egcs-19980425/gcc/config/rs6000/rs6000.c Sat Apr 18 12:16:01 1998 +++ egcs-19980425/gcc/config/rs6000/rs6000.c Fri May 1 14:46:03 1998 @@ -4450,7 +4450,7 @@ rs6000_gen_section_name (buf, filename, p += strlen (section_desc); } - else if (isalnum (*q)) + else if (ISALNUM (*q)) *p++ = *q; } diff -rup orig/egcs-19980425/gcc/cpplib.c egcs-19980425/gcc/cpplib.c --- orig/egcs-19980425/gcc/cpplib.c Sat Apr 4 12:37:41 1998 +++ egcs-19980425/gcc/cpplib.c Fri May 1 15:03:17 1998 @@ -467,7 +467,7 @@ quote_string (pfile, src) switch ((c = *src++)) { default: - if (isprint (c)) + if (ISPRINT (c)) CPP_PUTC_Q (pfile, c); else { @@ -2774,7 +2774,7 @@ macroexpand (pfile, hp) /* Escape these chars */ if (c == '\"' || (in_string && c == '\\')) CPP_PUTC (pfile, '\\'); - if (isprint (c)) + if (ISPRINT (c)) CPP_PUTC (pfile, c); else { @@ -3687,7 +3687,7 @@ do_line (pfile, keyword) token = get_directive_token (pfile); if (token != CPP_NUMBER - || !isdigit(pfile->token_buffer[old_written])) + || !ISDIGIT(pfile->token_buffer[old_written])) { cpp_error (pfile, "invalid format `#line' command"); goto bad_line_directive; @@ -4920,7 +4920,7 @@ cpp_get_token (pfile) case '.': NEWLINE_FIX; c2 = PEEKC (); - if (isdigit(c2)) + if (ISDIGIT(c2)) { CPP_RESERVE(pfile, 2); CPP_PUTC_Q (pfile, '.'); diff -rup orig/egcs-19980425/gcc/fix-header.c egcs-19980425/gcc/fix-header.c --- orig/egcs-19980425/gcc/fix-header.c Sun Apr 19 02:48:07 1998 +++ egcs-19980425/gcc/fix-header.c Fri May 1 14:46:04 1998 @@ -959,13 +959,13 @@ inf_scan_ident (s, c) int c; { s->ptr = s->base; - if (isalpha (c) || c == '_') + if (ISALPHA (c) || c == '_') { for (;;) { SSTRING_PUT (s, c); c = INF_GET (); - if (c == EOF || !(isalnum (c) || c == '_')) + if (c == EOF || !(ISALNUM (c) || c == '_')) break; } } @@ -1276,7 +1276,7 @@ main (argc, argv) c = INF_GET (); if (c == EOF) break; - if (isalpha (c) || c == '_') + if (ISALPHA (c) || c == '_') { c = inf_scan_ident (&buf, c); (void) INF_UNGET (c);