* config/tc-h8500.c (md_begin): Use a local variable when
authorIan Lance Taylor <ian@airs.com>
Thu, 22 Jul 1993 19:11:48 +0000 (19:11 +0000)
committerIan Lance Taylor <ian@airs.com>
Thu, 22 Jul 1993 19:11:48 +0000 (19:11 +0000)
initializing md_relax_table to avoid warnings about modifying a
supposedly const data structure.

gas/ChangeLog
gas/config/tc-h8500.c

index b925eac3265434013a4d9fd6ba9d3d9ba6def086..f15ea9db045c4264895bcfe312641fcfd59d528c 100644 (file)
@@ -1,3 +1,9 @@
+Thu Jul 22 12:09:41 1993  Ian Lance Taylor  (ian@cygnus.com)
+
+       * config/tc-h8500.c (md_begin): Use a local variable when
+       initializing md_relax_table to avoid warnings about modifying a
+       supposedly const data structure.
+
 Thu Jul 22 10:58:51 1993  Brendan Kehoe  (brendan@lisa.cygnus.com)
 
        * config/obj-aout.c: Only include aout/aout64.h if BFD_ASSEMBLER
index 404db3a6c94b52e6cfc5391098765f0a2a7cd586..1cb1bcfa6d0effba979d49313cb9200006ab686b 100644 (file)
@@ -102,6 +102,7 @@ md_begin ()
   h8500_opcode_info *opcode;
   char prev_buffer[100];
   int idx = 0;
+  register relax_typeS *table;
 
   opcode_hash_control = hash_new ();
   prev_buffer[0] = 0;
@@ -116,36 +117,38 @@ md_begin ()
        }
     }
 
-  /* Initialize the relax table */
-  md_relax_table[C (BRANCH, BYTE_DISP)].rlx_forward = BYTE_F;
-  md_relax_table[C (BRANCH, BYTE_DISP)].rlx_backward = BYTE_B;
-  md_relax_table[C (BRANCH, BYTE_DISP)].rlx_length = 2;
-  md_relax_table[C (BRANCH, BYTE_DISP)].rlx_more = C (BRANCH, WORD_DISP);
-
-  md_relax_table[C (BRANCH, WORD_DISP)].rlx_forward = WORD_F;
-  md_relax_table[C (BRANCH, WORD_DISP)].rlx_backward = WORD_B;
-  md_relax_table[C (BRANCH, WORD_DISP)].rlx_length = 3;
-  md_relax_table[C (BRANCH, WORD_DISP)].rlx_more = 0;
-
-  md_relax_table[C (SCB_F, BYTE_DISP)].rlx_forward = BYTE_F;
-  md_relax_table[C (SCB_F, BYTE_DISP)].rlx_backward = BYTE_B;
-  md_relax_table[C (SCB_F, BYTE_DISP)].rlx_length = 3;
-  md_relax_table[C (SCB_F, BYTE_DISP)].rlx_more = C (SCB_F, WORD_DISP);
-
-  md_relax_table[C (SCB_F, WORD_DISP)].rlx_forward = WORD_F;
-  md_relax_table[C (SCB_F, WORD_DISP)].rlx_backward = WORD_B;
-  md_relax_table[C (SCB_F, WORD_DISP)].rlx_length = 8;
-  md_relax_table[C (SCB_F, WORD_DISP)].rlx_more = 0;
-
-  md_relax_table[C (SCB_TST, BYTE_DISP)].rlx_forward = BYTE_F;
-  md_relax_table[C (SCB_TST, BYTE_DISP)].rlx_backward = BYTE_B;
-  md_relax_table[C (SCB_TST, BYTE_DISP)].rlx_length = 3;
-  md_relax_table[C (SCB_TST, BYTE_DISP)].rlx_more = C (SCB_TST, WORD_DISP);
-
-  md_relax_table[C (SCB_TST, WORD_DISP)].rlx_forward = WORD_F;
-  md_relax_table[C (SCB_TST, WORD_DISP)].rlx_backward = WORD_B;
-  md_relax_table[C (SCB_TST, WORD_DISP)].rlx_length = 10;
-  md_relax_table[C (SCB_TST, WORD_DISP)].rlx_more = 0;
+  /* Initialize the relax table.  We use a local variable to avoid
+     warnings about modifying a supposedly const data structure.  */
+  table = (relax_typeS *) md_relax_table;
+  table[C (BRANCH, BYTE_DISP)].rlx_forward = BYTE_F;
+  table[C (BRANCH, BYTE_DISP)].rlx_backward = BYTE_B;
+  table[C (BRANCH, BYTE_DISP)].rlx_length = 2;
+  table[C (BRANCH, BYTE_DISP)].rlx_more = C (BRANCH, WORD_DISP);
+
+  table[C (BRANCH, WORD_DISP)].rlx_forward = WORD_F;
+  table[C (BRANCH, WORD_DISP)].rlx_backward = WORD_B;
+  table[C (BRANCH, WORD_DISP)].rlx_length = 3;
+  table[C (BRANCH, WORD_DISP)].rlx_more = 0;
+
+  table[C (SCB_F, BYTE_DISP)].rlx_forward = BYTE_F;
+  table[C (SCB_F, BYTE_DISP)].rlx_backward = BYTE_B;
+  table[C (SCB_F, BYTE_DISP)].rlx_length = 3;
+  table[C (SCB_F, BYTE_DISP)].rlx_more = C (SCB_F, WORD_DISP);
+
+  table[C (SCB_F, WORD_DISP)].rlx_forward = WORD_F;
+  table[C (SCB_F, WORD_DISP)].rlx_backward = WORD_B;
+  table[C (SCB_F, WORD_DISP)].rlx_length = 8;
+  table[C (SCB_F, WORD_DISP)].rlx_more = 0;
+
+  table[C (SCB_TST, BYTE_DISP)].rlx_forward = BYTE_F;
+  table[C (SCB_TST, BYTE_DISP)].rlx_backward = BYTE_B;
+  table[C (SCB_TST, BYTE_DISP)].rlx_length = 3;
+  table[C (SCB_TST, BYTE_DISP)].rlx_more = C (SCB_TST, WORD_DISP);
+
+  table[C (SCB_TST, WORD_DISP)].rlx_forward = WORD_F;
+  table[C (SCB_TST, WORD_DISP)].rlx_backward = WORD_B;
+  table[C (SCB_TST, WORD_DISP)].rlx_length = 10;
+  table[C (SCB_TST, WORD_DISP)].rlx_more = 0;
 
 }
 
@@ -876,7 +879,7 @@ insert (output, index, exp, reloc, pcrel)
   fix_new_exp (frag_now,
               output - frag_now->fr_literal + index,
               4,               /* always say size is 4, but we know better */
-              &exp,
+              exp,
               pcrel,
               reloc);
 }