Eliminate IA-64 compiler warnings.
authorJim Wilson <wilson@redhat.com>
Wed, 24 Jan 2001 04:30:47 +0000 (04:30 +0000)
committerJim Wilson <wilson@gcc.gnu.org>
Wed, 24 Jan 2001 04:30:47 +0000 (20:30 -0800)
* dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
* frame.h (__ia64_personality_v1): Add prototype.
* libgcc2.c (ia64_throw_helper): Change personality declaration to
prototype form.  Add void * cast to first argument to personality
call.
...

From-SVN: r39227

gcc/ChangeLog
gcc/config/ia64/frame-ia64.c
gcc/config/ia64/ia64-protos.h
gcc/config/ia64/ia64.c
gcc/config/ia64/ia64.h
gcc/config/ia64/ia64.md
gcc/config/ia64/lib1funcs.asm
gcc/dwarf2out.c
gcc/frame.h
gcc/libgcc2.c
gcc/real.c

index 04136c92a93bcc839298cdc298cfa56d41415dbc..ee6029b7e98c1a6edcd41685ed0bf42835126b28 100644 (file)
@@ -1,3 +1,28 @@
+2001-01-23  Jim Wilson  <wilson@redhat.com>
+
+       * dwarf2out.c (dwarf2out_line): Make last_file_num be unsigned.
+       * frame.h (__ia64_personality_v1): Add prototype.
+       * libgcc2.c (ia64_throw_helper): Change personality declaration to
+       prototype form.  Add void * cast to first argument to personality
+       call.
+       * real.c (e113toe): Surround with INTEL_EXTENDED_IEEE_FORMAT ifdefs.
+       (asctoe113): Likewise.
+       * config/ia64/frame-ia64.c: Include eh-common.h.
+       * config/ia64/ia64-protos.h (sdata_section, sbbs_section): Add
+       prototypes.
+       * config/ia64/ia64.c (emit_insn_group_barriers): Add ATTRIBUTE_UNUSED
+       to dump parameter.
+       (itanium_split_issue): Add prototype.
+       (gen_nop_type): Ifdef out.
+       (find_best_packet): Initialize best_packet.
+       (ia64_encode_section_info): New local string.  Use for ggc_alloc_string
+       result.
+       * config/ia64/ia64.h (ASM_OUTPUT_LONG_DOUBLE): Use 0L not 0.
+       * config/ia64/ia64.md (bsp_value): Add explicit stop bit at start.
+       (flushrs): Add explicit stop bit at end.
+       * config/ia64/lib1funcs.asm (__ia64_restore_stack_nonlocal): Change
+       trailing \ to >.
+       
 2001-01-23  Chris Demetriou  <cgd@broadcom.com>
 
        * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
index cd0f21c888e922bfaa4ad11f27be70ea3abcd6be..66d39a4c1ced2074d2420b6544cd807bebb6c15f 100644 (file)
@@ -48,6 +48,7 @@ Boston, MA 02111-1307, USA.  */
 
 #include "defaults.h"
 #include "frame-ia64.h"
+#include "eh-common.h"
 
 /* Some types used by the DWARF 2 spec.  */
 
index d3eefe66abbcbd4d002d53f2625aab70d77a2fca..6f073ef92a899ed536638c61420b1498182e8890 100644 (file)
@@ -135,3 +135,11 @@ extern void ia64_output_end_prologue PARAMS((FILE *));
 extern void ia64_init_builtins PARAMS((void));
 extern void ia64_override_options PARAMS((void));
 extern int ia64_dbx_register_number PARAMS((int));
+
+#ifdef SDATA_SECTION_ASM_OP
+extern void sdata_section PARAMS ((void));
+#endif
+
+#ifdef SBSS_SECTION_ASM_OP
+extern void sbss_section PARAMS ((void));
+#endif
index ca1bc41f01fd299b3bf3318673b29b48e204af10..228c9074814300a920d61b6528d88269998bfa23 100644 (file)
@@ -4524,7 +4524,7 @@ emit_insn_group_barriers (dump, insns)
 
 static void
 emit_all_insn_group_barriers (dump, insns)
-     FILE *dump;
+     FILE *dump ATTRIBUTE_UNUSED;
      rtx insns;
 {
   rtx insn;
@@ -4748,10 +4748,13 @@ static const char *type_names[] =
 /* Nonzero if we should insert stop bits into the schedule.  */
 int ia64_final_schedule = 0;
 
+static int itanium_split_issue PARAMS ((const struct ia64_packet *, int));
 static rtx ia64_single_set PARAMS ((rtx));
 static int insn_matches_slot PARAMS ((const struct ia64_packet *, enum attr_type, int, rtx));
 static void ia64_emit_insn_before PARAMS ((rtx, rtx));
+#if 0
 static rtx gen_nop_type PARAMS ((enum attr_type));
+#endif
 static void finish_last_head PARAMS ((FILE *, int));
 static void rotate_one_bundle PARAMS ((FILE *));
 static void rotate_two_bundles PARAMS ((FILE *));
@@ -5049,6 +5052,7 @@ ia64_emit_insn_before (insn, before)
   emit_insn_before (insn, before);
 }
 
+#if 0
 /* Generate a nop insn of the given type.  Note we never generate L type
    nops.  */
 
@@ -5072,6 +5076,7 @@ gen_nop_type (t)
       abort ();
     }
 }
+#endif
 
 /* When rotating a bundle out of the issue window, insert a bundle selector
    insn in front of it.  DUMP is the scheduling dump file or NULL.  START
@@ -5383,7 +5388,7 @@ find_best_packet (pbest, ppacket, ready, types, n_ready)
   int first = sched_data.first_slot;
   int best = 0;
   int lowest_end = 6;
-  const struct ia64_packet *best_packet;
+  const struct ia64_packet *best_packet = NULL;
   int i;
 
   for (i = 0; i < NR_PACKETS; i++)
@@ -6160,12 +6165,13 @@ ia64_encode_section_info (decl)
        {
          size_t len = strlen (symbol_str);
          char *newstr = alloca (len + 1);
+         const char *string;
 
          *newstr = SDATA_NAME_FLAG_CHAR;
          memcpy (newstr + 1, symbol_str, len + 1);
          
-         newstr = ggc_alloc_string (newstr, len + 1);
-         XSTR (XEXP (DECL_RTL (decl), 0), 0) = newstr;
+         string = ggc_alloc_string (newstr, len + 1);
+         XSTR (XEXP (DECL_RTL (decl), 0), 0) = string;
        }
     }
   /* This decl is marked as being in small data/bss but it shouldn't
index fabdd4f070ca9f32f09a32d3b94e89c1d4c933c7..f0cd62e1a963e7de70f83a4556b55fc20a521c2f 100644 (file)
@@ -2024,7 +2024,7 @@ do {                                                                      \
   long t[3];                                                           \
   REAL_VALUE_TO_TARGET_LONG_DOUBLE (VALUE, t);                         \
   fprintf (FILE, "\tdata4 0x%08lx, 0x%08lx, 0x%08lx, 0x%08lx\n",       \
-          t[0] & 0xffffffff, t[1] & 0xffffffff, t[2] & 0xffffffff, 0); \
+          t[0] & 0xffffffff, t[1] & 0xffffffff, t[2] & 0xffffffff, 0L);\
 } while (0)
 
 /* ??? Must reverse the word order for big-endian code?  */
index dddfd4b931ce369b22c8f835ccb56a0965e87734..7de8677ac21f94aa8e712c9edfe936715ec15723 100644 (file)
 
 ;; ??? Add function unit scheduling info for Itanium (TM) processor.
 
-;; ??? The explicit stop in the flushrs pattern is not ideal.  It
-;; would be better if rtx_needs_barrier took care of this, but this is
-;; something that can be fixed later.
-
 ;; ??? Need a better way to describe alternate fp status registers.
 
 ;; Unspec usage:
   "ldf.fill %0 = %1%P1"
   [(set_attr "itanium_class" "fld")])
 
+;; ??? The explicit stop is not ideal.  It would be better if
+;; rtx_needs_barrier took care of this, but this is something that can be
+;; fixed later.  This avoids an RSE DV.
+
 (define_insn "bsp_value"
   [(set (match_operand:DI 0 "register_operand" "=r")
        (unspec:DI [(const_int 0)] 20))]
   ""
-  "mov %0 = ar.bsp"
+  ";;\;mov %0 = ar.bsp"
   [(set_attr "itanium_class" "frar_i")])
 
 (define_insn "set_bsp"
   [(set_attr "itanium_class" "unknown")
    (set_attr "predicable" "no")])
 
+;; ??? The explicit stops are not ideal.  It would be better if
+;; rtx_needs_barrier took care of this, but this is something that can be
+;; fixed later.  This avoids an RSE DV.
+
 (define_insn "flushrs"
   [(unspec [(const_int 0)] 21)]
   ""
-  ";;\;flushrs"
+  ";;\;flushrs\;;;"
   [(set_attr "itanium_class" "rse_m")])
 \f
 ;; ::::::::::::::::::::
index 1296c1e0cab5a657c8085c96102ca7ee9d3f1b2a..67f0a89ce61403267c8fdc9dfa8fc4be305d9302 100644 (file)
@@ -670,11 +670,11 @@ __ia64_restore_stack_nonlocal:
 //
 // The trampoline has the following form:
 //
-//             +-------------------+ 
+//             +-------------------+ >
 //     TRAMP:  | __ia64_trampoline | |
 //             +-------------------+  > fake function descriptor
 //             | TRAMP+16          | |
-//             +-------------------+ /
+//             +-------------------+ >
 //             | target descriptor |
 //             +-------------------+
 //             | static link       |
index a3c0e1fae7fce46a228948bc845fcbe0e49e6a77..9b0a8c454bec8e6c4e2a2dd519fcc89590df7034 100644 (file)
@@ -11390,7 +11390,7 @@ dwarf2out_line (filename, line)
            fprintf (asm_out_file, "\t.file %d \"%s\"\n", file_num, filename);
          fprintf (asm_out_file, "\t.loc %d %d 0\n", file_num, line);
 #else
-         static int last_file_num;
+         static unsigned int last_file_num;
          if (file_num != last_file_num)
            {
              last_file_num = file_num;
index d8ebb6e9b7e080ea59ad528c17c72b4e5258a66f..2257d5256c56f5858c15e3268d40bbb0963b6140 100644 (file)
@@ -271,6 +271,8 @@ typedef struct unwind_info_ptr
 #define IA64_UNW_EHANDLER      0x1
 #define IA64_UNW_UHANDLER      0x2
 
+extern void * __ia64_personality_v1 (void *pc, old_exception_table *table);
+
 extern unwind_info_ptr *__build_ia64_frame_state (unsigned char *, 
                                                  ia64_frame_state *,
                                                  void *, void *,
index 5e5d7c013399d455cb77a6aa896821b1cdba6ab8..bb0d64e9f610afd3506c0919ae695ab081239f94 100644 (file)
@@ -4230,7 +4230,7 @@ ia64_throw_helper (ia64_frame_state *throw_frame, ia64_frame_state *caller,
   memcpy (caller, throw_frame, sizeof (*caller));
   while (!handler)
     {
-      void *(*personality) ();
+      void *(*personality) (void *, old_exception_table *);
       void *eh_table;
 
       frame_count++;
@@ -4256,7 +4256,7 @@ ia64_throw_helper (ia64_frame_state *throw_frame, ia64_frame_state *caller,
       if (personality)
        /* Pass a segment relative PC address to the personality routine,
           because the unwind_info section uses segrel relocs.  */
-       handler = personality (pc - pc_base, eh_table);
+       handler = personality ((void *)(pc - pc_base), eh_table);
     }
   
   if (!handler)
index 9df904021562c509488bea8627802a2842e66da6..087f10367c8d7909989a7e2146e07f257c1b8ab0 100644 (file)
@@ -407,7 +407,9 @@ static void emul    PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *,
                               unsigned EMUSHORT *));
 static void e53toe     PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
 static void e64toe     PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
+#ifndef INTEL_EXTENDED_IEEE_FORMAT
 static void e113toe    PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
+#endif
 static void e24toe     PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
 static void etoe113    PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
 static void toe113     PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
@@ -439,7 +441,9 @@ static void etoasc  PARAMS ((unsigned EMUSHORT *, char *, int));
 static void asctoe24   PARAMS ((const char *, unsigned EMUSHORT *));
 static void asctoe53   PARAMS ((const char *, unsigned EMUSHORT *));
 static void asctoe64   PARAMS ((const char *, unsigned EMUSHORT *));
+#ifndef INTEL_EXTENDED_IEEE_FORMAT
 static void asctoe113  PARAMS ((const char *, unsigned EMUSHORT *));
+#endif
 static void asctoe     PARAMS ((const char *, unsigned EMUSHORT *));
 static void asctoeg    PARAMS ((const char *, unsigned EMUSHORT *, int));
 static void efloor     PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
@@ -3327,6 +3331,7 @@ bigend_nan:
     *q++ = *p++;
 }
 
+#ifndef INTEL_EXTENDED_IEEE_FORMAT
 /* Convert 128-bit long double precision float PE to e type Y.  */
 
 static void
@@ -3411,6 +3416,7 @@ e113toe (pe, y)
     }
   emovo (yy, y);
 }
+#endif
 
 /* Convert single precision float PE to e type Y.  */
 
@@ -5101,6 +5107,7 @@ asctoe64 (s, y)
   asctoeg (s, y, 64);
 }
 
+#ifndef INTEL_EXTENDED_IEEE_FORMAT
 /* Convert ASCII string S to 128-bit long double Y.  */
 
 static void
@@ -5110,6 +5117,7 @@ asctoe113 (s, y)
 {
   asctoeg (s, y, 113);
 }
+#endif
 
 /* Convert ASCII string S to e type Y.  */