bug in arm-elf-gcc

Richard Earnshaw rearnsha@arm.com
Fri May 19 07:04:00 GMT 2000


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





More information about the Gcc-bugs mailing list