aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1992-04-16 22:05:20 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1992-04-16 22:05:20 -0400
commitee243aa8d00d007f0b12acd3d055b8b981e21839 (patch)
tree2658787e0f7f63ce7fe96e1272f80cbb22a439de
parente81638792ac48324724b8cfc2382f6055cfe8dd8 (diff)
downloadgcc-ee243aa8d00d007f0b12acd3d055b8b981e21839.zip
gcc-ee243aa8d00d007f0b12acd3d055b8b981e21839.tar.gz
gcc-ee243aa8d00d007f0b12acd3d055b8b981e21839.tar.bz2
entered into RCS
From-SVN: r753
-rw-r--r--gcc/config/m68k/sgs.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/config/m68k/sgs.h b/gcc/config/m68k/sgs.h
index 55f3159..023e4e0 100644
--- a/gcc/config/m68k/sgs.h
+++ b/gcc/config/m68k/sgs.h
@@ -382,17 +382,20 @@ do { union { float f; long l;} tem; \
/* At end of a switch table, define LDnnn iff the symbol LInnn was defined.
Some SGS assemblers have a bug such that "Lnnn-LInnn-2.b(pc,d0.l*2)"
- fails to assemble. Luckily "Lnnn(pc,d0.l*2)" produces the results
- we want. This difference can be accommodated by using an assembler
+ fails to assemble. Luckily "LDnnn(pc,d0.l*2)" produces the results
+ we want. This difference can be accommodated by making the assembler
define such "LDnnn" to be either "Lnnn-LInnn-2.b", "Lnnn", or any other
string, as necessary. This is accomplished via the ASM_OUTPUT_CASE_END
macro. */
#undef ASM_OUTPUT_CASE_END
#define ASM_OUTPUT_CASE_END(FILE,NUM,TABLE) \
- if (RTX_INTEGRATED_P (TABLE)) \
+{ if (switch_table_difference_label_flag) \
asm_fprintf (FILE, "\t%s %LLD%d,%LL%d-%LLI%d-2.b\n",\
- SET_ASM_OP, (NUM), (NUM), (NUM))
+ SET_ASM_OP, (NUM), (NUM), (NUM)) \
+ switch_table_difference_label_flag = 0; }
+
+int switch_table_difference_label_flag;
/* This is how to output an element of a case-vector that is relative. */