summaryrefslogtreecommitdiffstats
path: root/gcc/final.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1997-11-02 21:19:36 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>1997-11-02 21:19:36 +0000
commit0dbd1c7442aeabc3e63daf6f70f8fb136f0cf38e (patch)
tree46fe768360493f03f7282d07762e7b26c292aabd /gcc/final.c
parent638d2d6c66cb82345c84b92a46ebf9445c56204c (diff)
downloadppe42-gcc-0dbd1c7442aeabc3e63daf6f70f8fb136f0cf38e.tar.gz
ppe42-gcc-0dbd1c7442aeabc3e63daf6f70f8fb136f0cf38e.zip
Update mainline egcs to gcc2 snapshot 971021.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@16278 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/final.c')
-rw-r--r--gcc/final.c45
1 files changed, 35 insertions, 10 deletions
diff --git a/gcc/final.c b/gcc/final.c
index d9a410b2b09..7faaf2d7285 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -284,10 +284,14 @@ static void add_bb PROTO((FILE *));
static int add_bb_string PROTO((char *, int));
static void output_source_line PROTO((FILE *, rtx));
static rtx walk_alter_subreg PROTO((rtx));
-static int alter_cond PROTO((rtx));
static void output_asm_name PROTO((void));
static void output_operand PROTO((rtx, int));
+#ifdef LEAF_REGISTERS
static void leaf_renumber_regs PROTO((rtx));
+#endif
+#ifdef HAVE_cc0
+static int alter_cond PROTO((rtx));
+#endif
extern char *getpwd ();
@@ -455,12 +459,17 @@ end_final (filename)
ASM_OUTPUT_SHARED_LOCAL (asm_out_file, name, size, rounded);
else
#endif
+#ifdef ASM_OUTPUT_ALIGNED_DECL_LOCAL
+ ASM_OUTPUT_ALIGNED_DECL_LOCAL (asm_out_file, NULL_TREE, name, size,
+ BIGGEST_ALIGNMENT);
+#else
#ifdef ASM_OUTPUT_ALIGNED_LOCAL
ASM_OUTPUT_ALIGNED_LOCAL (asm_out_file, name, size,
BIGGEST_ALIGNMENT);
#else
ASM_OUTPUT_LOCAL (asm_out_file, name, size, rounded);
#endif
+#endif
}
/* Output any basic block strings */
@@ -672,6 +681,10 @@ get_attr_length (insn)
length += get_attr_length (XVECEXP (body, 0, i));
else
length = insn_default_length (insn);
+ break;
+
+ default:
+ break;
}
#ifdef ADJUST_INSN_LENGTH
@@ -753,6 +766,7 @@ shorten_branches (first)
to determine how much padding we need at this point. Therefore,
assume worst possible alignment. */
insn_lengths[uid] += unitsize - 1;
+
#else
;
#endif
@@ -2041,9 +2055,12 @@ final_scan_insn (insn, file, optimize, prescan, nopeepholes)
PUT_CODE (insn, NOTE);
NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED;
NOTE_SOURCE_FILE (insn) = 0;
- break;
}
}
+ break;
+
+ default:
+ break;
}
}
@@ -2327,6 +2344,9 @@ walk_alter_subreg (x)
case SUBREG:
return alter_subreg (x);
+
+ default:
+ break;
}
return x;
@@ -2385,6 +2405,9 @@ alter_cond (cond)
PUT_CODE (cond, NE);
value = 2;
break;
+
+ default:
+ break;
}
if (cc_status.flags & CC_NOT_NEGATIVE)
@@ -2411,6 +2434,9 @@ alter_cond (cond)
PUT_CODE (cond, NE);
value = 2;
break;
+
+ default:
+ break;
}
if (cc_status.flags & CC_NO_OVERFLOW)
@@ -2433,19 +2459,15 @@ alter_cond (cond)
case LTU:
/* Jump becomes no-op. */
return -1;
+
+ default:
+ break;
}
if (cc_status.flags & (CC_Z_IN_NOT_N | CC_Z_IN_N))
switch (GET_CODE (cond))
{
- case LE:
- case LEU:
- case GE:
- case GEU:
- case LT:
- case LTU:
- case GT:
- case GTU:
+ default:
abort ();
case NE:
@@ -2483,6 +2505,9 @@ alter_cond (cond)
PUT_CODE (cond, GEU);
value = 2;
break;
+
+ default:
+ break;
}
return value;
OpenPOWER on IntegriCloud