aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/m68hc11/m68hc12.h
diff options
context:
space:
mode:
authorStephane Carrez <stcarrez@nerim.fr>2003-01-15 23:50:41 +0100
committerStephane Carrez <ciceron@gcc.gnu.org>2003-01-15 23:50:41 +0100
commitf077f1693bd11aee4daeb9bc9720f1f96161de46 (patch)
tree12c38b19c0fe8b1b2bebc77e0833956cc4ad0fe7 /gcc/config/m68hc11/m68hc12.h
parent09d096a8d7f2822f73cb60fae6748df3e76b2835 (diff)
downloadgcc-f077f1693bd11aee4daeb9bc9720f1f96161de46.zip
gcc-f077f1693bd11aee4daeb9bc9720f1f96161de46.tar.gz
gcc-f077f1693bd11aee4daeb9bc9720f1f96161de46.tar.bz2
m68hc11.h (ASM_SPEC): Handle -m68hcs12...
* config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort and -mshort-double to the assembler to specify the ABI. (LINK_SPEC): Likewise. (CPP_SPEC): Pass HCS12 specific define. (MASK_M68S12): New define. (TARGET_M68S12): Likewise. (TARGET_SWITCHES): New options -m68hcs12 and -m68S12. (TARGET_VERSION): Update. * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define. (LINK_SPEC): Update. (ASM_SPEC): Update. * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update. * doc/invoke.texi (M68hc1x Options): Document -m68hcs12. From-SVN: r61358
Diffstat (limited to 'gcc/config/m68hc11/m68hc12.h')
-rw-r--r--gcc/config/m68hc11/m68hc12.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/gcc/config/m68hc11/m68hc12.h b/gcc/config/m68hc11/m68hc12.h
index a9f09dd..498763e 100644
--- a/gcc/config/m68hc11/m68hc12.h
+++ b/gcc/config/m68hc11/m68hc12.h
@@ -1,6 +1,6 @@
/* Definitions of target machine for GNU compiler, for m68hc12.
- Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
- Contributed by Stephane Carrez (stcarrez@worldnet.fr).
+ Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+ Contributed by Stephane Carrez (stcarrez@nerim.fr).
This file is part of GNU CC.
@@ -20,19 +20,26 @@ the Free Software Foundation, 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
/* Compile and assemble for a 68hc12 unless there is a -m68hc11 option. */
-#define ASM_SPEC "%{m68hc11:-m68hc11}%{!m68hc11:-m68hc12}"
+#define ASM_SPEC \
+"%{m68hc11:-m68hc11}" \
+"%{m68hcs12:-m68hcs12}" \
+"%{!m68hc11:%{!m68hcs12:-m68hc12}}"
#define LIB_SPEC ""
#define CC1_SPEC ""
/* We need to tell the linker the target elf format. Just pass an
emulation option. This can be overridden by -Wl option of gcc. */
-#define LINK_SPEC "%{m68hc11:-m m68hc11elf}%{!m68hc11:-m m68hc12elf}"
+#define LINK_SPEC \
+"%{m68hc11:-m m68hc11elf}" \
+"%{m68hcs12:-m m68hc12elf}" \
+"%{!m68hc11:%{!m68hcs12:-m m68hc11elf}} %{mrelax:-relax}"
#define CPP_SPEC \
"%{mshort:-D__HAVE_SHORT_INT__ -D__INT__=16}\
%{!mshort:-D__INT__=32}\
%{m68hc11:-Dmc6811 -DMC6811 -Dmc68hc11}\
- %{!m68hc11:-Dmc6812 -DMC6812 -Dmc68hc12}\
+ %{!m68hc11:%{!m68hc12:-Dmc6812 -DMC6812 -Dmc68hc12}}\
+ %{m68hcs12:-Dmc6812 -DMC6812 -Dmc68hcs12}\
%{fshort-double:-D__HAVE_SHORT_DOUBLE__}"
/* Default target_flags if no switches specified. */