Commit 807bdfb6 by Falk Hueffner

re PR target/27571 (alpha: ICE in get_attr_usegp, at config/alpha/alpha.md:171)

	PR target/27571
	* config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
	table data.

	* gcc.c-torture/compile/pr27571.c: New test.

From-SVN: r114130
parent 014057c5
2006-05-24 Steven Bosscher <steven@gcc.gnu.org>
PR target/27571
* config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
table data.
2006-05-25 Mark Mitchell <mark@codesourcery.com> 2006-05-25 Mark Mitchell <mark@codesourcery.com>
PR c++/20103 PR c++/20103
......
...@@ -7410,6 +7410,7 @@ alpha_does_function_need_gp (void) ...@@ -7410,6 +7410,7 @@ alpha_does_function_need_gp (void)
for (; insn; insn = NEXT_INSN (insn)) for (; insn; insn = NEXT_INSN (insn))
if (INSN_P (insn) if (INSN_P (insn)
&& ! JUMP_TABLE_DATA_P (insn)
&& GET_CODE (PATTERN (insn)) != USE && GET_CODE (PATTERN (insn)) != USE
&& GET_CODE (PATTERN (insn)) != CLOBBER && GET_CODE (PATTERN (insn)) != CLOBBER
&& get_attr_usegp (insn)) && get_attr_usegp (insn))
......
2006-05-24 Falk Hueffner <falk@debian.org>
* gcc.c-torture/compile/pr27571.c: New test.
2006-05-26 Paul Thomas <pault@gcc.gnu.org> 2006-05-26 Paul Thomas <pault@gcc.gnu.org>
PR fortran/27709 PR fortran/27709
/* PR target/27571
alpha_does_function_need_gp did not properly skip jump table insns */
int r3isseparator(int);
void r3isdigit(int);
void r3decimalvalue(int);
void r7todouble(int *storage, int *count) {
int i = 0;
int state = 0;
int cc = 0;
while (i > *count) {
cc = *storage;
switch (state) {
case 0:
if (r3isseparator(cc))
state = 1;
case 1:
r3isdigit(cc);
case 2:
case 5:
case 6:
r3decimalvalue(cc);
}
i++;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment