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
This commit is contained in:
Jim Wilson 2001-01-24 04:30:47 +00:00 committed by Jim Wilson
parent 17fd8a87a4
commit 0024a8041f
11 changed files with 70 additions and 16 deletions

View 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

View 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. */

View 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

View 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

View 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? */

View File

@ -46,10 +46,6 @@
;; ??? 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:
@ -4872,11 +4868,15 @@
"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"
@ -4886,10 +4886,14 @@
[(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")])
;; ::::::::::::::::::::

View 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 |

View 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;

View 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 *,

View 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)

View 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. */