johannes 02/09/17 17:08:46
Modified: live/gcc3/gcc Tag: fearless-kitty-branch version.c
live/gcc3/gcc/config/rs6000 Tag: fearless-kitty-branch
rs6000.c
Log:
Moving in fix for 3030948. Version->1163.
Revision Changes Path
No revision
No revision
1.44.2.9 +1 -1 src/live/gcc3/gcc/version.c
Index: version.c
===================================================================
RCS file: /cvs/Darwin/src/live/gcc3/gcc/version.c,v
retrieving revision 1.44.2.8
retrieving revision 1.44.2.9
diff -u -r1.44.2.8 -r1.44.2.9
--- version.c 2002/09/17 22:21:39 1.44.2.8
+++ version.c 2002/09/18 00:08:44 1.44.2.9
@@ -6,5 +6,5 @@
/* APPLE LOCAL begin Apple version */
/* Note that we can't say "apple_v*rs**n_str*ng" because of a cheesy
grep in configure that will get very confused if we do. */
-const char *const apple_version_str = "1162";
+const char *const apple_version_str = "1163";
/* APPLE LOCAL end Apple version */
No revision
No revision
1.159.2.2 +12 -1 src/live/gcc3/gcc/config/rs6000/rs6000.c
Index: rs6000.c
===================================================================
RCS file: /cvs/Darwin/src/live/gcc3/gcc/config/rs6000/rs6000.c,v
retrieving revision 1.159.2.1
retrieving revision 1.159.2.2
diff -u -r1.159.2.1 -r1.159.2.2
--- rs6000.c 2002/07/17 23:03:34 1.159.2.1
+++ rs6000.c 2002/09/18 00:08:44 1.159.2.2
@@ -1627,9 +1627,15 @@
{
/* Remember our last choice. */
static enum attr_type last_easy = TYPE_INTEGER;
+ enum attr_type type;
/* First look at the previous instruction. */
rtx prev = prev_active_insn (insn);
- enum attr_type type = prev ? get_attr_type (prev) : TYPE_INTEGER;
+ /* Jump tables don't have a type; prevent get_attr_type from crashing. */
+ if (prev && GET_CODE (prev) == JUMP_INSN &&
+ (GET_CODE (PATTERN (prev)) == ADDR_VEC
+ || GET_CODE (PATTERN (prev)) == ADDR_DIFF_VEC))
+ prev = 0;
+ type = prev ? get_attr_type (prev) : TYPE_INTEGER;
/* If the previous instruction was VEC_EASY,
its chosen type is in last_easy. */
@@ -1645,6 +1651,11 @@
{
/* Look at the next instruction to decide. */
rtx next = next_active_insn (insn);
+ /* Jump tables don't have a type; prevent get_attr_type from crashing. */
+ if (next && GET_CODE (next) == JUMP_INSN
+ && (GET_CODE (PATTERN (next)) == ADDR_VEC
+ || GET_CODE (PATTERN (next)) == ADDR_DIFF_VEC))
+ next = 0;
type = next ? get_attr_type (next) : TYPE_INTEGER;
/* Prefer VEC_PERM unless the next instruction conflicts. */
last_easy = (type == TYPE_VEC_PERM ? TYPE_VEC_SIMPLE : TYPE_VEC_PERM);