cast literal to char * when assigning to input_line_ptr
authorTrevor Saunders <tbsaunde+binutils@tbsaunde.org>
Mon, 22 Feb 2016 21:17:14 +0000 (16:17 -0500)
committerTrevor Saunders <tbsaunde+binutils@tbsaunde.org>
Thu, 31 Mar 2016 11:23:31 +0000 (07:23 -0400)
various places either directly or indirectly set input_line_pointer to point at
a literal.  Currently lots of places modify the string input_line_pointer
points at, so making it const isn't easy.  Since most if not all of these
places assign to input_line_pointer to parse an expression it would probably be
best to add ways to generate and deal with expressions that doesn't involve
parsing strings, but for now adding some casts seems easiest.

gas/ChangeLog:

2016-03-31  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>

* config/tc-i960.c (parse_expr): Cast to char * when assigning to
input_line_pointer.
* config/tc-m32r.c (expand_debug_syms): Likewise.
* config/tc-msp430.c (msp430_dstoperand): Likewise.
* config/tc-z80.c (md_begin): Likewise.
* stabs.c (stabs_generate_asm_func): Likewise.

gas/ChangeLog
gas/config/tc-i960.c
gas/config/tc-m32r.c
gas/config/tc-msp430.c
gas/config/tc-z80.c
gas/stabs.c

index 21450c268ff1a1d29b921294095f1457e272662c..9b6d066bb257a3acd376511029de6fbed6737d03 100644 (file)
@@ -1,3 +1,12 @@
+2016-03-31  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
+
+       * config/tc-i960.c (parse_expr): Cast to char * when assigning to
+       input_line_pointer.
+       * config/tc-m32r.c (expand_debug_syms): Likewise.
+       * config/tc-msp430.c (msp430_dstoperand): Likewise.
+       * config/tc-z80.c (md_begin): Likewise.
+       * stabs.c (stabs_generate_asm_func): Likewise.
+
 2016-03-31  Trevor Saunders  <tbsaunde+binutils@tbsaunde.org>
 
        * cgen.c: Modernize the way functions declare arguments.
index 8a8f31cd6263542a4ecee43ea9e828506521019a..45e8a44e58624fc0e02d7c55b7d0a3afadb34f27 100644 (file)
@@ -450,7 +450,7 @@ static int br_cnt;
 /* Name of the table of pointers to branches.  A local (i.e.,
    non-external) symbol.  */
 
-static void ctrl_fmt (char *, long, int);
+static void ctrl_fmt (const char *, long, int);
 
 \f
 void
@@ -495,7 +495,7 @@ md_begin (void)
    string is not consumed in the evaluation -- tolerate no dangling junk!  */
 
 static void
-parse_expr (char *textP,               /* Text of expression to be parsed.  */
+parse_expr (const char *textP,         /* Text of expression to be parsed.  */
            expressionS *expP)          /* Where to put the results of parsing.  */
 {
   char *save_in;               /* Save global here.  */
@@ -513,7 +513,7 @@ parse_expr (char *textP,            /* Text of expression to be parsed.  */
   else
     {
       save_in = input_line_pointer;    /* Save global.  */
-      input_line_pointer = textP;      /* Make parser work for us.  */
+      input_line_pointer = (char *) textP;     /* Make parser work for us.  */
 
       (void) expression (expP);
       if ((size_t) (input_line_pointer - textP) != strlen (textP))
@@ -558,7 +558,7 @@ emit (long instr)           /* Word to be output, host byte order.  */
                address displacement is greater than 13 bits.  */
 
 static void
-get_cdisp (char *dispP, /* Displacement as specified in source instruction.  */
+get_cdisp (const char *dispP, /* Displacement as specified in source instruction.  */
           const char *ifmtP, /* "COBR" or "CTRL" (for use in error message).  */
           long instr,  /* Instruction needing the displacement.  */
           int numbits, /* # bits of displacement (13 for COBR, 24 for CTRL).  */
@@ -1494,7 +1494,7 @@ brlab_next (void)
 }
 
 static void
-ctrl_fmt (char *targP,         /* Pointer to text of lone operand (if any).  */
+ctrl_fmt (const char *targP,           /* Pointer to text of lone operand (if any).  */
          long opcode,          /* Template of instruction.  */
          int num_ops)          /* Number of operands.  */
 {
index 76218324bd43f23a2d5f525f7274cb95066e7f99..89205f8142aacce5b5cd3eca8df61719e8250154 100644 (file)
@@ -613,7 +613,7 @@ expand_debug_syms (sym_linkS *syms, int align)
     {
       symbolS *symbolP = syms->symbol;
       next_syms = syms->next;
-      input_line_pointer = ".\n";
+      input_line_pointer = (char *) ".\n";
       pseudo_set (symbolP);
       free ((char *) syms);
     }
index ae28984dc7560d37ac5c94b59375e636a879bfba..98910aa515ff6b0fd6cfa1924a1f61142f975eac 100644 (file)
@@ -2156,7 +2156,7 @@ msp430_dstoperand (struct msp430_operand_s * op,
 
   if (op->am == 2)
     {
-      char *__tl = "0";
+      char *__tl = (char *) "0";
 
       op->mode = OP_EXP;
       op->am = 1;
index 2f5281487200aeb0cdb984935eef70c74f863405..2e1dca987a49f6babba9b334b5bbc4a370522f42 100644 (file)
@@ -249,7 +249,7 @@ md_begin (void)
         }
     }
   p = input_line_pointer;
-  input_line_pointer = "0";
+  input_line_pointer = (char *) "0";
   nul.X_md=0;
   expression (& nul);
   input_line_pointer = p;
index 876ffa541f38fb6788873add254ba938f607c8f4..08b84393150b27bdaeeb1be04719740d00c4f6fd 100644 (file)
@@ -662,7 +662,7 @@ stabs_generate_asm_func (const char *funcname, const char *startlabname)
 
   if (! void_emitted_p)
     {
-      input_line_pointer = "\"void:t1=1\",128,0,0,0";
+      input_line_pointer = (char *) "\"void:t1=1\",128,0,0,0";
       s_stab ('s');
       void_emitted_p = 1;
     }