aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorSteve Chamberlain <sac@gnu.org>1993-05-04 15:21:26 +0000
committerSteve Chamberlain <sac@gnu.org>1993-05-04 15:21:26 +0000
commitbc1ebe6373abe535f0d64cb2b17692fa16c285e0 (patch)
treefe7ed22aebea732d9ec48cf7224a3623292a50a4 /gcc
parentaa684c9468bc7dd5533a8421decb29340834bb92 (diff)
downloadgcc-bc1ebe6373abe535f0d64cb2b17692fa16c285e0.zip
gcc-bc1ebe6373abe535f0d64cb2b17692fa16c285e0.tar.gz
gcc-bc1ebe6373abe535f0d64cb2b17692fa16c285e0.tar.bz2
(ASM_OUTPUT_CASE_LABEL): Ensure jump table is aligned.
From-SVN: r4320
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/sh/sh.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/config/sh/sh.h b/gcc/config/sh/sh.h
index 0a75098..edf7e1f 100644
--- a/gcc/config/sh/sh.h
+++ b/gcc/config/sh/sh.h
@@ -1023,8 +1023,6 @@ extern int current_function_anonymous_args;
#define ASM_OUTPUT_INTERNAL_LABEL(FILE,PREFIX,NUM) \
fprintf (FILE, "%s%d:\n", PREFIX, NUM)
-/* Nothing special is done about jump tables */
-/* #define ASM_OUTPUT_CASE_LABEL(STREAM,PREFIX,NUM,TABLE) */
/* #define ASM_OUTPUT_CASE_END(STREAM,NUM,TABLE) */
/* Construct a private name. */
@@ -1032,6 +1030,10 @@ extern int current_function_anonymous_args;
((OUTVAR) = (char *) alloca (strlen (NAME) + 10), \
sprintf ((OUTVAR), "%s.%d", (NAME), (NUMBER)))
+/* Jump tables must be 32 bit aligned. */
+#define ASM_OUTPUT_CASE_LABEL(STREAM,PREFIX,NUM,TABLE) \
+ fprintf (STREAM, "\t.align 2\n%s%d:\n", PREFIX, NUM);
+
/* Output a relative address. Not needed since jump tables are absolute
but we must define it anyway. */
#define ASM_OUTPUT_ADDR_DIFF_ELT(STREAM,VALUE,REL) \