entered into RCS
authorRichard Kenner <kenner@gcc.gnu.org>
Fri, 17 Apr 1992 02:05:20 +0000 (22:05 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Fri, 17 Apr 1992 02:05:20 +0000 (22:05 -0400)
From-SVN: r753

gcc/config/m68k/sgs.h

index 55f315916c00cc7f95cc49e26dc0e55121374afb..023e4e0a307373868d94ef66181f488144b283ab 100644 (file)
@@ -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.  */