This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
RE: bug in arm-elf-gcc
- To: <gcc-bugs at gcc dot gnu dot org>
- Subject: RE: bug in arm-elf-gcc
- From: "Vadim Lebedev" <vlebedev at aplio dot fr>
- Date: Fri, 19 May 2000 18:14:11 +0200
Richard,
Thanks a lot, the patch fixes the problem.....
Vadim
-----Original Message-----
From: Richard Earnshaw [mailto:rearnsha@arm.com]
Sent: vendredi 19 mai 2000 16:03
To: Vadim Lebedev
Cc: gcc-bugs@gcc.gnu.org; rth@cygnus.com; rearnsha@arm.com
Subject: Re: bug in arm-elf-gcc
>
> The following code:
>
> ---------------
> /* lbtest.c */
> void callit1(void*);
>
> extern __inline__ void test()
> {
> __label__ l1;
>
> callit1(&&l1);
>
> l1:
>
> }
>
>
> void dotest()
> {
> test();
> }
> [generates a bad label reference]
This occurs because we don't scan for label references in the insns that
form a call placeholder.
Please try this patch.
Note, I have not been able to bootstrap this change because my normal
machine is currently down with a dead hard disk.
* flow.c (find_label_refs): New function.
(find_basic_blocks_1): Call it for each alternative of a call
placeholder.