From: Jim Wilson Date: Wed, 24 Jan 2001 04:30:47 +0000 (+0000) Subject: Eliminate IA-64 compiler warnings. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0024a8041f8b3a6b02e81632a9fb4b3c61969ac1;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 04136c92a93..ee6029b7e98 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,28 @@ +2001-01-23 Jim Wilson + + * 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 * libgcc-std.ver (GCC_3.0): Add __terminate_func_set to list diff --git a/gcc/config/ia64/frame-ia64.c b/gcc/config/ia64/frame-ia64.c index cd0f21c888e..66d39a4c1ce 100644 --- a/gcc/config/ia64/frame-ia64.c +++ b/gcc/config/ia64/frame-ia64.c @@ -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. */ diff --git a/gcc/config/ia64/ia64-protos.h b/gcc/config/ia64/ia64-protos.h index d3eefe66abb..6f073ef92a8 100644 --- a/gcc/config/ia64/ia64-protos.h +++ b/gcc/config/ia64/ia64-protos.h @@ -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 diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c index ca1bc41f01f..228c9074814 100644 --- a/gcc/config/ia64/ia64.c +++ b/gcc/config/ia64/ia64.c @@ -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 diff --git a/gcc/config/ia64/ia64.h b/gcc/config/ia64/ia64.h index fabdd4f070c..f0cd62e1a96 100644 --- a/gcc/config/ia64/ia64.h +++ b/gcc/config/ia64/ia64.h @@ -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? */ diff --git a/gcc/config/ia64/ia64.md b/gcc/config/ia64/ia64.md index dddfd4b931c..7de8677ac21 100644 --- a/gcc/config/ia64/ia64.md +++ b/gcc/config/ia64/ia64.md @@ -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")]) ;; :::::::::::::::::::: diff --git a/gcc/config/ia64/lib1funcs.asm b/gcc/config/ia64/lib1funcs.asm index 1296c1e0cab..67f0a89ce61 100644 --- a/gcc/config/ia64/lib1funcs.asm +++ b/gcc/config/ia64/lib1funcs.asm @@ -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 | diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index a3c0e1fae7f..9b0a8c454be 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -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; diff --git a/gcc/frame.h b/gcc/frame.h index d8ebb6e9b7e..2257d5256c5 100644 --- a/gcc/frame.h +++ b/gcc/frame.h @@ -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 *, diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index 5e5d7c01339..bb0d64e9f61 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -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) diff --git a/gcc/real.c b/gcc/real.c index 9df90402156..087f10367c8 100644 --- a/gcc/real.c +++ b/gcc/real.c @@ -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. */