This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: 3.0: Troubling warning in dwarf2out.c
- To: mark at codesourcery dot com (Mark Mitchell)
- Subject: Re: 3.0: Troubling warning in dwarf2out.c
- From: Brad Lucier <lucier at math dot purdue dot edu>
- Date: Sat, 19 May 2001 20:28:21 -0500 (EST)
- Cc: lucier at math dot purdue dot edu, jason_merrill at redhat dot com, jsm28 at cam dot ac dot uk, gcc-bugs at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
>
> >>>>> "Brad" == Brad Lucier <lucier@math.purdue.edu> writes:
>
> Brad> OK, so what should the type of ASM_OUTPUT_INTERNAL_LABEL be?
> Brad> I suggest the equivalent of
>
> Brad> void ASM_OUTPUT_INTERNAL_LABEL(FILE *, const char *, int);
>
> Yes.
>
> That matches the documentation which suggests:
>
> fprintf (STREAM, "L%s%d:\n", PREFIX, NUM)
>
OK, then the patch suggested in
http://gcc.gnu.org/ml/gcc-bugs/2001-05/msg00550.html
and the following patch (1) document this interface and (2)
silence the warning, both along these lines, for the 3.0
branch. I don't have time to go through and change all the
macros to functions.
I don't have check-in privileges. The 3.0 branch bootstraps
on sparc-sun-solaris2.8 with these patches.
Brad
* dwarf2out.c (output_call_frame_info): Ensure that the
final argument to ASM_OUTPUT_INTERNAL_LABEL is an int.
===================================================================
RCS file: RCS/dwarf2out.c,v
retrieving revision 1.1
diff -p -r1.1 dwarf2out.c
*** dwarf2out.c 2001/05/20 01:08:01 1.1
--- dwarf2out.c 2001/05/20 01:08:52
*************** output_call_frame_info (for_eh)
*** 1865,1871 ****
if (for_eh && fde->nothrow && ! fde->uses_eh_lsda)
continue;
! ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, FDE_LABEL, for_eh + i * 2);
ASM_GENERATE_INTERNAL_LABEL (l1, FDE_AFTER_SIZE_LABEL, for_eh + i * 2);
ASM_GENERATE_INTERNAL_LABEL (l2, FDE_END_LABEL, for_eh + i * 2);
dw2_asm_output_delta (for_eh ? 4 : DWARF_OFFSET_SIZE, l2, l1,
--- 1865,1872 ----
if (for_eh && fde->nothrow && ! fde->uses_eh_lsda)
continue;
! ASM_OUTPUT_INTERNAL_LABEL (asm_out_file, FDE_LABEL,
! (int) (for_eh + i * 2));
ASM_GENERATE_INTERNAL_LABEL (l1, FDE_AFTER_SIZE_LABEL, for_eh + i * 2);
ASM_GENERATE_INTERNAL_LABEL (l2, FDE_END_LABEL, for_eh + i * 2);
dw2_asm_output_delta (for_eh ? 4 : DWARF_OFFSET_SIZE, l2, l1,