Hi Paul!

I'd like to install this patch to let the pdp11-aout configuration
build again with eg.

../gcc/configure --target=pdp11-aout --enable-werror-always \
        --enable-languages=all --disable-gcov --disable-shared \
        --disable-threads --without-headers \
        --prefix=/var/lib/laminar/run/gcc-pdp11-aout/5/toolchain-install

No testsuite (yet? Maybe I'd add a bit), but re-checked some Hello
World'ish code for no changes and it still runs on a SIMH pdp11.

  * config/pdp11/pdp11.h (ASM_OUTPUT_SKIP): Fix signedness warning.
  * config/pdp11/pdp11.c (pdp11_asm_print_operand_punct_valid_p):
  Remove "register" keyword.
  (pdp11_initial_elimination_offset) Remove unused variable.
  (pdp11_cmp_length) Ditto.
  (pdp11_insn_cost): Ditto, and fix signedness warning.

diff --git a/gcc/config/pdp11/pdp11.h b/gcc/config/pdp11/pdp11.h
index a21ae648439..9bc5e089f49 100644
--- a/gcc/config/pdp11/pdp11.h
+++ b/gcc/config/pdp11/pdp11.h
@@ -618,10 +618,12 @@ extern int current_first_parm_offset;
     fprintf (FILE, "\t.even\n")
 
 #define ASM_OUTPUT_SKIP(FILE,SIZE)  \
-  if (TARGET_DEC_ASM) \
-    fprintf (FILE, "\t.blkb\t%o\n", (SIZE) & 0xffff);  \
-  else                                                 \
-    fprintf (FILE, "\t.=.+ %#o\n", (SIZE) & 0xffff);
+  do {                                                         \
+    if (TARGET_DEC_ASM)                                                \
+      fprintf (FILE, "\t.blkb\t%o\n", (int) ((SIZE) & 0xffff));        \
+    else                                                       \
+      fprintf (FILE, "\t.=.+ %#o\n", (int) ((SIZE) & 0xffff)); \
+  } while (0)
 
 /* This says how to output an assembler line
    to define a global common symbol.  */
diff --git a/gcc/config/pdp11/pdp11.c b/gcc/config/pdp11/pdp11.c
index b663b43a29c..4cab3aee598 100644
--- a/gcc/config/pdp11/pdp11.c
+++ b/gcc/config/pdp11/pdp11.c
@@ -829,12 +829,12 @@ pdp11_asm_print_operand_punct_valid_p (unsigned char c)
 }
 
 void
-print_operand_address (FILE *file, register rtx addr)
+print_operand_address (FILE *file, rtx addr)
 {
-  register rtx breg;
+  rtx breg;
   rtx offset;
   int again = 0;
-  
+
  retry:
 
   switch (GET_CODE (addr))
@@ -1160,12 +1160,11 @@ pdp11_addr_cost (rtx addr, machine_mode mode, 
addr_space_t as ATTRIBUTE_UNUSED,
 static int
 pdp11_insn_cost (rtx_insn *insn, bool speed)
 {
-  int base_cost, i;
+  int base_cost;
   rtx pat, set, dest, src, src2;
   machine_mode mode;
-  const char *fmt;
   enum rtx_code op;
-  
+
   if (recog_memoized (insn) < 0)
     return 0;
 
@@ -1462,24 +1461,24 @@ bool
 pushpop_regeq (rtx op, int regno)
 {
   rtx addr;
-  
+
   /* False if not memory reference.  */
   if (GET_CODE (op) != MEM)
     return FALSE;
-  
+
   /* Get the address of the memory reference.  */
   addr = XEXP (op, 0);
 
   if (GET_CODE (addr) == MEM)
     addr = XEXP (addr, 0);
-    
+
   switch (GET_CODE (addr))
     {
     case PRE_DEC:
     case POST_INC:
     case PRE_MODIFY:
     case POST_MODIFY:
-      return REGNO (XEXP (addr, 0)) == regno;
+      return REGNO (XEXP (addr, 0)) == (unsigned) regno;
     default:
       return FALSE;
     }
@@ -1771,8 +1770,7 @@ int
 pdp11_initial_elimination_offset (int from, int to)
 {
   /* Get the size of the register save area.  */
-  int spoff;
-  
+
   if (from == FRAME_POINTER_REGNUM && to == STACK_POINTER_REGNUM)
     return get_frame_size ();
   else if (from == ARG_POINTER_REGNUM && to == FRAME_POINTER_REGNUM)
@@ -2106,15 +2104,14 @@ pdp11_cmp_length (rtx *operands, int words)
 {
   rtx inops[2];
   rtx exops[4][2];
-  rtx lb[1];
   int i, len = 0;
 
   if (!reload_completed)
     return 2;
-  
+
   inops[0] = operands[0];
   inops[1] = operands[1];
-  
+
   pdp11_expand_operands (inops, exops, 2, words, NULL, big);
 
   for (i = 0; i < words; i++)


Okay for master?

MfG, JBG

-- 

Attachment: signature.asc
Description: PGP signature

Reply via email to