* symbols.c (symbol_find_or_make): Change name to be const.
authorIan Lance Taylor <ian@airs.com>
Sat, 28 Oct 1995 05:05:46 +0000 (05:05 +0000)
committerIan Lance Taylor <ian@airs.com>
Sat, 28 Oct 1995 05:05:46 +0000 (05:05 +0000)
* symbols.h (symbol_find_or_make): Update declaration.

gas/ChangeLog
gas/symbols.c
gas/symbols.h

index f67e63b9c425c0a4c2a7121a1257c0217df81cca..1f4ca514bcd2f26a3b8ddcd3b29ffc4b6ed5a13f 100644 (file)
@@ -1,3 +1,8 @@
+Sat Oct 28 01:02:05 1995  Ian Lance Taylor  <ian@cygnus.com>
+
+       * symbols.c (symbol_find_or_make): Change name to be const.
+       * symbols.h (symbol_find_or_make): Update declaration.
+
 Thu Oct 26 19:18:27 1995  Ken Raeburn  <raeburn@cygnus.com>
 
        * doc/as.texinfo (Align): Mention SH.
index 3e7b73efee282a16e12ac6def8226c1d10702294..a3ece14e2d08f430c549210d7b4522dcfb78bba6 100644 (file)
@@ -375,7 +375,7 @@ symbol_table_insert (symbolP)
  */
 symbolS *
 symbol_find_or_make (name)
-     char *name;
+     const char *name;
 {
   register symbolS *symbolP;
 
@@ -752,6 +752,8 @@ resolve_symbol_value (symp)
        case O_le:
        case O_ge:
        case O_gt:
+       case O_logical_and:
+       case O_logical_or:
          resolve_symbol_value (symp->sy_value.X_add_symbol);
          resolve_symbol_value (symp->sy_value.X_op_symbol);
          seg_left = S_GET_SEGMENT (symp->sy_value.X_add_symbol);
@@ -787,6 +789,8 @@ resolve_symbol_value (symp)
            case O_le:          val = left <= right ? ~ (offsetT) 0 : 0;
            case O_ge:          val = left >= right ? ~ (offsetT) 0 : 0;
            case O_gt:          val = left >  right ? ~ (offsetT) 0 : 0;
+           case O_logical_and: val = left && right; break;
+           case O_logical_or:  val = left || right; break;
            default:                    abort ();
            }
          S_SET_VALUE (symp,
@@ -1543,6 +1547,12 @@ print_expr_1 (file, exp)
     case O_gt:
       fprintf (file, "gt");
       break;
+    case O_logical_and:
+      fprintf (file, "logical_and");
+      break;
+    case O_logical_or:
+      fprintf (file, "logical_or");
+      break;
     case O_add:
       indent_level++;
       fprintf (file, "add\n%*s<", indent_level * 4, "");
index df07dbf8313e5a2a68c7240ba033ef691a43e8f8..29ae6388774ca6382649257aa3502cd9a18cafd6 100644 (file)
@@ -36,13 +36,13 @@ extern int symbols_case_sensitive;
 char *decode_local_label_name PARAMS ((char *s));
 symbolS *symbol_find PARAMS ((CONST char *name));
 symbolS *symbol_find_base PARAMS ((CONST char *name, int strip_underscore));
-symbolS *symbol_find_or_make PARAMS ((char *name));
+symbolS *symbol_find_or_make PARAMS ((const char *name));
 symbolS *symbol_make PARAMS ((CONST char *name));
 symbolS *symbol_new PARAMS ((CONST char *name, segT segment, valueT value,
                             fragS * frag));
 symbolS *symbol_create PARAMS ((CONST char *name, segT segment, valueT value,
                                fragS * frag));
-symbolS *colon PARAMS ((char *sym_name));
+symbolS *colon PARAMS ((const char *sym_name));
 void local_colon PARAMS ((int n));
 void symbol_begin PARAMS ((void));
 void symbol_table_insert PARAMS ((symbolS * symbolP));