* config/alpha/alpha.c (alpha_does_function_need_gp): Skip jump
table data.
* gcc.c-torture/compile/pr27571.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114130
138bc75d-0d04-0410-961f-
82ee72b054a4
+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>
PR c++/20103
for (; insn; insn = NEXT_INSN (insn))
if (INSN_P (insn)
+ && ! JUMP_TABLE_DATA_P (insn)
&& GET_CODE (PATTERN (insn)) != USE
&& GET_CODE (PATTERN (insn)) != CLOBBER
&& 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>
PR fortran/27709
--- /dev/null
+/* 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++;
+ }
+}