aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-07-21 21:49:27 +0000
committerRichard Stallman <rms@gnu.org>1992-07-21 21:49:27 +0000
commit02e5d66ea5d2db5b258de9735a2e7806f5e941a7 (patch)
tree1191f7423109456c135ac9e467c7482507f51cf5
parentb924cef029b49df4cb6b899126738825bcbffc75 (diff)
downloadgcc-02e5d66ea5d2db5b258de9735a2e7806f5e941a7.zip
gcc-02e5d66ea5d2db5b258de9735a2e7806f5e941a7.tar.gz
gcc-02e5d66ea5d2db5b258de9735a2e7806f5e941a7.tar.bz2
(ASM_OUTPUT_BEFORE_CASE_LABEL): Do the swbeg here.
(ASM_OUTPUT_CASE_LABEL): Use that. From-SVN: r1658
-rw-r--r--gcc/config/m68k/sgs.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/gcc/config/m68k/sgs.h b/gcc/config/m68k/sgs.h
index 9dda6a3..df1dfd5 100644
--- a/gcc/config/m68k/sgs.h
+++ b/gcc/config/m68k/sgs.h
@@ -385,9 +385,14 @@ do { union { float f; long l;} tem; \
size to be inserted into the object code so that disassemblers, for
example, can identify that it is the start of a switch table. */
+#define ASM_OUTPUT_BEFORE_CASE_LABEL(FILE,PREFIX,NUM,TABLE) \
+ fprintf ((FILE), "\t%s &%d\n", SWBEG_ASM_OP, XVECLEN (PATTERN (TABLE), 1));
+
#define ASM_OUTPUT_CASE_LABEL(FILE,PREFIX,NUM,TABLE) \
- fprintf ((FILE), "\t%s &%d\n", SWBEG_ASM_OP, XVECLEN (PATTERN (TABLE), 1)); \
- ASM_OUTPUT_INTERNAL_LABEL((FILE),(PREFIX),(NUM));
+ do { \
+ ASM_OUTPUT_BEFORE_CASE_LABEL((FILE),(PREFIX),(NUM),(TABLE)); \
+ ASM_OUTPUT_INTERNAL_LABEL((FILE),(PREFIX),(NUM)); \
+ } while (0)
/* 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)"