------- Comment #8 from sje at cup dot hp dot com 2010-03-17 22:09 -------
I tried the patch and didn't have any problem bootstrapping and I didn't see
any regressions. It also fixed my small test case, but when I went back and
tried some of the other tests from PR 28490 I still saw some of the bad gprel
usages. Here is a slightly more cutdown testcase from 28490 that still fails
with the patch applied and when compiling with -O2.
extern const char basesyntax[];
extern const char arisyntax[];
typedef struct __jmp_buf_tag { }
jmp_buf[1];
struct jmploc { jmp_buf loc; };
readtoken1 (int firstc, char const *syntax, char *eofmark, int striptabs)
{
int c = firstc;
for (;;)
{
switch (syntax[c])
{
case 1:
if (syntax == (basesyntax + 130))
goto endword;
syntax = (basesyntax + 130);
parsebackq_oldreturn:;
}
}
endword:
if (syntax == (arisyntax + 130)) {
struct jmploc jmploc;
if (_setjmp (jmploc.loc))
goto parsebackq_oldreturn;
}
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42040