GCC 3.2 Branch Closure

Graham Stott graham.stott@btinternet.com
Fri Nov 8 11:44:00 GMT 2002


H. J. Lu wrote:
> On Fri, Nov 08, 2002 at 01:28:53PM +0100, Volker Reichelt wrote:
> 
>>Hi,
>>
>>PR 8502 looks quite severe to me:
>>It a regression from 3.0.x on the branch where wrong assember code is
>>generated. However, this problem doesn't occur on mainline.
>>
>>Could somebody please have a look at it to decide whether it has to
>>be fixed for the branch or not?
>>
> 
> 
> Here is the modified version for C:
> 
> ---f.c---
> int foo (int i)
> {
>     switch (i)
>     {
>         case 0: return 0;
>         case 1: return 0;
>         case 2: return 0;
>         case 3: return 0;
>         case 4: return 0;
>     }
> 
>     return 0;
> }
> 
> int main () { return 0; }
> ----
> 
> # /usr/gcc-3.2/bin/gcc f.c
> /tmp/ccIENiOo.o(.text+0x11): In function `foo':
> : undefined reference to `.L8'
> collect2: ld returned 1 exit status
> 
> 
> 
> H.J.
> 

Actually mainline does suffer from this undefined label
problem with reduceable switch statements. The problem
is we don't always delete dead jumptables.

I don't have 3.2 checked out at present so it'll take me
a little while to check out and verify if my mainline patch
also fixes 3.2

Graham
ps. I haven't submitted the mainline patch yet.




More information about the Gcc mailing list