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