]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
cplus-dem.c (standard_symbol_characters): Renamed from standard_symbol_alphabet.
authorMarc Espie <espie@cvs.openbsd.org>
Thu, 13 May 1999 00:24:18 +0000 (00:24 +0000)
committerJeff Law <law@gcc.gnu.org>
Thu, 13 May 1999 00:24:18 +0000 (18:24 -0600)
        * cplus-dem.c (standard_symbol_characters): Renamed from
        standard_symbol_alphabet.  No longer modify TABLE.
        (hp_symbol_characters): Renamed from hp_symbol_alphabet.  No longer
        modify TABLE.
        (main): Corresponding changes.  Use strchr to determine if a
        character is valid.

From-SVN: r26912

libiberty/ChangeLog
libiberty/cplus-dem.c

index fa9d88daeeae52b1677f84a6de8d1bfd21e3b9b0..9f8431d6cb8cae889f7f76c62137d90cf7c258e0 100644 (file)
@@ -1,3 +1,12 @@
+Thu May 13 01:14:46 1999 Marc Espie <espie@cvs.openbsd.org>
+
+       * cplus-dem.c (standard_symbol_characters): Renamed from
+       standard_symbol_alphabet.  No longer modify TABLE.
+       (hp_symbol_characters): Renamed from hp_symbol_alphabet.  No longer
+       modify TABLE.
+       (main): Corresponding changes.  Use strchr to determine if a
+       character is valid.
+
 1999-05-11  Jim Blandy  <jimb@zwingli.cygnus.com>
 
        * cplus-dem.c (main): Use table lookup to distinguish identifier
index d94d0493ed3c1c78bfa3b979a3a7bf3aaf6650d9..706d929cca713e7d9675bdb220d117e0e7b76607 100644 (file)
@@ -4394,25 +4394,19 @@ fancy_abort ()
 }
 
 
-/* Fill in TABLE so that TABLE[C] is true iff C (as an unsigned char)
-   is a valid symbol component, in the standard assembler symbol
+/* Return the string of non-alnum characters that may occur 
+   as a valid symbol component, in the standard assembler symbol
    syntax.  */
-void
-standard_symbol_alphabet (char *table)
-{
-  int c;
 
-  for (c = 0; c < 256; c++)
-    table[c] = isalnum(c);
-
-  table['_'] = 1;
-  table['$'] = 1;
-  table['.'] = 1;
+static const char *
+standard_symbol_characters ()
+{
+  return "_$.";
 }
 
 
-/* Fill in TABLE so that TABLE[C] is true iff C (as an unsigned char)
-   is a valid symbol name component in an HP object file.
+/* Return the string of non-alnum characters that may occur
+   as a valid symbol name component in an HP object file.
 
    Note that, since HP's compiler generates object code straight from
    C++ source, without going through an assembler, its mangled
@@ -4441,15 +4435,10 @@ standard_symbol_alphabet (char *table)
        non-digit character.
 
    So have fun.  */
-void
-hp_symbol_alphabet (char *table)
+static const char *
+hp_symbol_characters ()
 {
-  char *c;
-
-  standard_symbol_alphabet (table);
-
-  for (c = "<>#,*&[]:(){}"; *c; c++)
-    table[(unsigned char) *c] = 1;
+  return "_$.<>#,*&[]:(){}";
 }
 
 
@@ -4460,7 +4449,7 @@ main (argc, argv)
 {
   char *result;
   int c;
-  char symbol_alphabet[256];
+  char *valid_symbols;
 
   program_name = argv[0];
 
@@ -4533,10 +4522,10 @@ main (argc, argv)
        case lucid_demangling:
        case arm_demangling:
        case edg_demangling:
-         standard_symbol_alphabet (symbol_alphabet);
+         valid_symbols = standard_symbol_characters ();
          break;
        case hp_demangling:
-         hp_symbol_alphabet (symbol_alphabet);
+         valid_symbols = hp_symbol_characters ();
          break;
        default:
          /* Folks should explicitly indicate the appropriate alphabet for
@@ -4550,7 +4539,7 @@ main (argc, argv)
          int i = 0;
          c = getchar ();
          /* Try to read a label.  */
-         while (c != EOF && symbol_alphabet[c])
+         while (c != EOF && (isalnum (c) || strchr (valid_symbols, c)))
            {
              if (i >= MBUF_SIZE-1)
                break;