Commit 0024a804 by Jim Wilson Committed by Jim Wilson

Eliminate IA-64 compiler warnings.

	* 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
parent 17fd8a87
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> 2001-01-23 Chris Demetriou <cgd@broadcom.com>
* libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list
......
...@@ -48,6 +48,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -48,6 +48,7 @@ Boston, MA 02111-1307, USA. */
#include "defaults.h" #include "defaults.h"
#include "frame-ia64.h" #include "frame-ia64.h"
#include "eh-common.h"
/* Some types used by the DWARF 2 spec. */ /* Some types used by the DWARF 2 spec. */
......
...@@ -135,3 +135,11 @@ extern void ia64_output_end_prologue PARAMS((FILE *)); ...@@ -135,3 +135,11 @@ extern void ia64_output_end_prologue PARAMS((FILE *));
extern void ia64_init_builtins PARAMS((void)); extern void ia64_init_builtins PARAMS((void));
extern void ia64_override_options PARAMS((void)); extern void ia64_override_options PARAMS((void));
extern int ia64_dbx_register_number PARAMS((int)); 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
...@@ -4524,7 +4524,7 @@ emit_insn_group_barriers (dump, insns) ...@@ -4524,7 +4524,7 @@ emit_insn_group_barriers (dump, insns)
static void static void
emit_all_insn_group_barriers (dump, insns) emit_all_insn_group_barriers (dump, insns)
FILE *dump; FILE *dump ATTRIBUTE_UNUSED;
rtx insns; rtx insns;
{ {
rtx insn; rtx insn;
...@@ -4748,10 +4748,13 @@ static const char *type_names[] = ...@@ -4748,10 +4748,13 @@ static const char *type_names[] =
/* Nonzero if we should insert stop bits into the schedule. */ /* Nonzero if we should insert stop bits into the schedule. */
int ia64_final_schedule = 0; int ia64_final_schedule = 0;
static int itanium_split_issue PARAMS ((const struct ia64_packet *, int));
static rtx ia64_single_set PARAMS ((rtx)); static rtx ia64_single_set PARAMS ((rtx));
static int insn_matches_slot PARAMS ((const struct ia64_packet *, enum attr_type, int, 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)); static void ia64_emit_insn_before PARAMS ((rtx, rtx));
#if 0
static rtx gen_nop_type PARAMS ((enum attr_type)); static rtx gen_nop_type PARAMS ((enum attr_type));
#endif
static void finish_last_head PARAMS ((FILE *, int)); static void finish_last_head PARAMS ((FILE *, int));
static void rotate_one_bundle PARAMS ((FILE *)); static void rotate_one_bundle PARAMS ((FILE *));
static void rotate_two_bundles PARAMS ((FILE *)); static void rotate_two_bundles PARAMS ((FILE *));
...@@ -5049,6 +5052,7 @@ ia64_emit_insn_before (insn, before) ...@@ -5049,6 +5052,7 @@ ia64_emit_insn_before (insn, before)
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 /* Generate a nop insn of the given type. Note we never generate L type
nops. */ nops. */
...@@ -5072,6 +5076,7 @@ gen_nop_type (t) ...@@ -5072,6 +5076,7 @@ gen_nop_type (t)
abort (); abort ();
} }
} }
#endif
/* When rotating a bundle out of the issue window, insert a bundle selector /* 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 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) ...@@ -5383,7 +5388,7 @@ find_best_packet (pbest, ppacket, ready, types, n_ready)
int first = sched_data.first_slot; int first = sched_data.first_slot;
int best = 0; int best = 0;
int lowest_end = 6; int lowest_end = 6;
const struct ia64_packet *best_packet; const struct ia64_packet *best_packet = NULL;
int i; int i;
for (i = 0; i < NR_PACKETS; i++) for (i = 0; i < NR_PACKETS; i++)
...@@ -6160,12 +6165,13 @@ ia64_encode_section_info (decl) ...@@ -6160,12 +6165,13 @@ ia64_encode_section_info (decl)
{ {
size_t len = strlen (symbol_str); size_t len = strlen (symbol_str);
char *newstr = alloca (len + 1); char *newstr = alloca (len + 1);
const char *string;
*newstr = SDATA_NAME_FLAG_CHAR; *newstr = SDATA_NAME_FLAG_CHAR;
memcpy (newstr + 1, symbol_str, len + 1); memcpy (newstr + 1, symbol_str, len + 1);
newstr = ggc_alloc_string (newstr, len + 1); string = ggc_alloc_string (newstr, len + 1);
XSTR (XEXP (DECL_RTL (decl), 0), 0) = newstr; XSTR (XEXP (DECL_RTL (decl), 0), 0) = string;
} }
} }
/* This decl is marked as being in small data/bss but it shouldn't /* This decl is marked as being in small data/bss but it shouldn't
......
...@@ -2024,7 +2024,7 @@ do { \ ...@@ -2024,7 +2024,7 @@ do { \
long t[3]; \ long t[3]; \
REAL_VALUE_TO_TARGET_LONG_DOUBLE (VALUE, t); \ REAL_VALUE_TO_TARGET_LONG_DOUBLE (VALUE, t); \
fprintf (FILE, "\tdata4 0x%08lx, 0x%08lx, 0x%08lx, 0x%08lx\n", \ 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) } while (0)
/* ??? Must reverse the word order for big-endian code? */ /* ??? Must reverse the word order for big-endian code? */
......
...@@ -46,10 +46,6 @@ ...@@ -46,10 +46,6 @@
;; ??? Add function unit scheduling info for Itanium (TM) processor. ;; ??? 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. ;; ??? Need a better way to describe alternate fp status registers.
;; Unspec usage: ;; Unspec usage:
...@@ -4872,11 +4868,15 @@ ...@@ -4872,11 +4868,15 @@
"ldf.fill %0 = %1%P1" "ldf.fill %0 = %1%P1"
[(set_attr "itanium_class" "fld")]) [(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" (define_insn "bsp_value"
[(set (match_operand:DI 0 "register_operand" "=r") [(set (match_operand:DI 0 "register_operand" "=r")
(unspec:DI [(const_int 0)] 20))] (unspec:DI [(const_int 0)] 20))]
"" ""
"mov %0 = ar.bsp" ";;\;mov %0 = ar.bsp"
[(set_attr "itanium_class" "frar_i")]) [(set_attr "itanium_class" "frar_i")])
(define_insn "set_bsp" (define_insn "set_bsp"
...@@ -4886,10 +4886,14 @@ ...@@ -4886,10 +4886,14 @@
[(set_attr "itanium_class" "unknown") [(set_attr "itanium_class" "unknown")
(set_attr "predicable" "no")]) (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" (define_insn "flushrs"
[(unspec [(const_int 0)] 21)] [(unspec [(const_int 0)] 21)]
"" ""
";;\;flushrs" ";;\;flushrs\;;;"
[(set_attr "itanium_class" "rse_m")]) [(set_attr "itanium_class" "rse_m")])
;; :::::::::::::::::::: ;; ::::::::::::::::::::
......
...@@ -670,11 +670,11 @@ __ia64_restore_stack_nonlocal: ...@@ -670,11 +670,11 @@ __ia64_restore_stack_nonlocal:
// //
// The trampoline has the following form: // The trampoline has the following form:
// //
// +-------------------+ \ // +-------------------+ >
// TRAMP: | __ia64_trampoline | | // TRAMP: | __ia64_trampoline | |
// +-------------------+ > fake function descriptor // +-------------------+ > fake function descriptor
// | TRAMP+16 | | // | TRAMP+16 | |
// +-------------------+ / // +-------------------+ >
// | target descriptor | // | target descriptor |
// +-------------------+ // +-------------------+
// | static link | // | static link |
......
...@@ -11390,7 +11390,7 @@ dwarf2out_line (filename, line) ...@@ -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.file %d \"%s\"\n", file_num, filename);
fprintf (asm_out_file, "\t.loc %d %d 0\n", file_num, line); fprintf (asm_out_file, "\t.loc %d %d 0\n", file_num, line);
#else #else
static int last_file_num; static unsigned int last_file_num;
if (file_num != last_file_num) if (file_num != last_file_num)
{ {
last_file_num = file_num; last_file_num = file_num;
......
...@@ -271,6 +271,8 @@ typedef struct unwind_info_ptr ...@@ -271,6 +271,8 @@ typedef struct unwind_info_ptr
#define IA64_UNW_EHANDLER 0x1 #define IA64_UNW_EHANDLER 0x1
#define IA64_UNW_UHANDLER 0x2 #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 *, extern unwind_info_ptr *__build_ia64_frame_state (unsigned char *,
ia64_frame_state *, ia64_frame_state *,
void *, void *, void *, void *,
......
...@@ -4230,7 +4230,7 @@ ia64_throw_helper (ia64_frame_state *throw_frame, ia64_frame_state *caller, ...@@ -4230,7 +4230,7 @@ ia64_throw_helper (ia64_frame_state *throw_frame, ia64_frame_state *caller,
memcpy (caller, throw_frame, sizeof (*caller)); memcpy (caller, throw_frame, sizeof (*caller));
while (!handler) while (!handler)
{ {
void *(*personality) (); void *(*personality) (void *, old_exception_table *);
void *eh_table; void *eh_table;
frame_count++; frame_count++;
...@@ -4256,7 +4256,7 @@ ia64_throw_helper (ia64_frame_state *throw_frame, ia64_frame_state *caller, ...@@ -4256,7 +4256,7 @@ ia64_throw_helper (ia64_frame_state *throw_frame, ia64_frame_state *caller,
if (personality) if (personality)
/* Pass a segment relative PC address to the personality routine, /* Pass a segment relative PC address to the personality routine,
because the unwind_info section uses segrel relocs. */ 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) if (!handler)
......
...@@ -407,7 +407,9 @@ static void emul PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *, ...@@ -407,7 +407,9 @@ static void emul PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *,
unsigned EMUSHORT *)); unsigned EMUSHORT *));
static void e53toe PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *)); static void e53toe PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void e64toe 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 *)); static void e113toe PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
#endif
static void e24toe PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *)); static void e24toe PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void etoe113 PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *)); static void etoe113 PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
static void toe113 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)); ...@@ -439,7 +441,9 @@ static void etoasc PARAMS ((unsigned EMUSHORT *, char *, int));
static void asctoe24 PARAMS ((const char *, unsigned EMUSHORT *)); static void asctoe24 PARAMS ((const char *, unsigned EMUSHORT *));
static void asctoe53 PARAMS ((const char *, unsigned EMUSHORT *)); static void asctoe53 PARAMS ((const char *, unsigned EMUSHORT *));
static void asctoe64 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 *)); static void asctoe113 PARAMS ((const char *, unsigned EMUSHORT *));
#endif
static void asctoe PARAMS ((const char *, unsigned EMUSHORT *)); static void asctoe PARAMS ((const char *, unsigned EMUSHORT *));
static void asctoeg PARAMS ((const char *, unsigned EMUSHORT *, int)); static void asctoeg PARAMS ((const char *, unsigned EMUSHORT *, int));
static void efloor PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *)); static void efloor PARAMS ((unsigned EMUSHORT *, unsigned EMUSHORT *));
...@@ -3327,6 +3331,7 @@ bigend_nan: ...@@ -3327,6 +3331,7 @@ bigend_nan:
*q++ = *p++; *q++ = *p++;
} }
#ifndef INTEL_EXTENDED_IEEE_FORMAT
/* Convert 128-bit long double precision float PE to e type Y. */ /* Convert 128-bit long double precision float PE to e type Y. */
static void static void
...@@ -3411,6 +3416,7 @@ e113toe (pe, y) ...@@ -3411,6 +3416,7 @@ e113toe (pe, y)
} }
emovo (yy, y); emovo (yy, y);
} }
#endif
/* Convert single precision float PE to e type Y. */ /* Convert single precision float PE to e type Y. */
...@@ -5101,6 +5107,7 @@ asctoe64 (s, y) ...@@ -5101,6 +5107,7 @@ asctoe64 (s, y)
asctoeg (s, y, 64); asctoeg (s, y, 64);
} }
#ifndef INTEL_EXTENDED_IEEE_FORMAT
/* Convert ASCII string S to 128-bit long double Y. */ /* Convert ASCII string S to 128-bit long double Y. */
static void static void
...@@ -5110,6 +5117,7 @@ asctoe113 (s, y) ...@@ -5110,6 +5117,7 @@ asctoe113 (s, y)
{ {
asctoeg (s, y, 113); asctoeg (s, y, 113);
} }
#endif
/* Convert ASCII string S to e type Y. */ /* Convert ASCII string S to e type Y. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment