|
|
1.1 root 1: /* tm-next.h: Definitions for Next as target machine for GNU C compiler. */
2:
3: #include "tm-m68k.h"
4:
1.1.1.2 root 5: /* Enable recent gcc to compile under the old gcc in Next release 1.0. */
6: #define __inline inline
7:
1.1 root 8: /* See tm-m68k.h. 7 means 68020/030 with 68881/882. */
9:
10: #define TARGET_DEFAULT 7
11:
12: /* These compiler options take an argument. */
13:
14: #define WORD_SWITCH_TAKES_ARG(STR) \
15: (!strcmp (STR, "Ttext") || !strcmp (STR, "Tdata"))
16:
17: /* Names to predefine in the preprocessor for this target machine. */
18:
19: #define CPP_PREDEFINES "-Dmc68000 -DNeXT -Dunix -D__MACH__"
20:
21: /* Machine dependent ccp options. */
22:
23: #define CPP_SPEC "%{bsd:-D__STRICT_BSD__}"
24:
25: /* Machine dependent ld options. */
26:
1.1.1.2 root 27: #define LINK_SPEC "%{Z} %{M} %{Mach} %{segcreate*} %{seglinkedit}"
1.1 root 28:
29: /* Machine dependent libraries. */
30:
1.1.1.3 ! root 31: #define LIB_SPEC "%{!p:%{!pg:-lsys_s}} %{pg:-lsys_p}"
1.1 root 32:
33: /* We specify crt0.o as -lcrt0.o so that ld will search the library path. */
34: #define STARTFILE_SPEC \
1.1.1.3 ! root 35: "%{pg:-lgcrt0.o}%{!pg: \
! 36: %{p:%e-p profiling is no longer supported. Use -pg instead.} \
! 37: %{!p:-lcrt0.o}}"
1.1 root 38:
39: /* Every structure or union's size must be a multiple of 2 bytes. */
40:
41: #define STRUCTURE_SIZE_BOUNDARY 16
42:
43: /* We want C++ style comments to be supported for Objective-C */
44:
45: #define CPLUSPLUS
46:
47: /* Why not? */
48:
49: #define DOLLARS_IN_IDENTIFIERS 1
50:
51: #if 0 /* These pertain to code changes that are not present in 1.36. */
52:
53: /* Allow Mach -MD and -MMD make depend switches. */
54:
55: #define MACH_MAKE_DEPEND
56:
57: /* These options take an argument. Note that we don't support -Ttext or -Tdata. */
58:
59: #define WORD_SWITCH_TAKES_ARG(STR) (!strcmp (STR, "MD") || !strcmp (STR,
60: "MMD"))
61:
62: #endif /* 0 */
63:
64: /* Allow #sscs (but don't do anything). */
65:
66: #define SCCS_DIRECTIVE
67:
68: /* We use Dbx symbol format. */
69:
70: #define DBX_DEBUGGING_INFO
71:
72: /* This is how to output an assembler line defining a `double' constant. */
73:
74: #undef ASM_OUTPUT_DOUBLE
75: #define ASM_OUTPUT_DOUBLE(FILE,VALUE) \
76: (isinf ((VALUE)) \
77: ? fprintf (FILE, "\t.double 0r%s99e999\n", ((VALUE) > 0 ? "" : "-")) \
78: : fprintf (FILE, "\t.double 0r%.20e\n", (VALUE)))
79:
80: /* This is how to output an assembler line defining a `float' constant. */
81:
82: #undef ASM_OUTPUT_FLOAT
83: #define ASM_OUTPUT_FLOAT(FILE,VALUE) \
84: (isinf ((VALUE)) \
85: ? fprintf (FILE, "\t.single 0r%s99e999\n", ((VALUE) > 0 ? "" : "-")) \
86: : fprintf (FILE, "\t.single 0r%.20e\n", (VALUE)))
87:
88: #undef ASM_OUTPUT_FLOAT_OPERAND
89: #define ASM_OUTPUT_FLOAT_OPERAND(FILE,VALUE) \
90: (isinf ((VALUE)) \
91: ? fprintf (FILE, "#0r%s99e999", ((VALUE) > 0 ? "" : "-")) \
92: : fprintf (FILE, "#0r%.9g", (VALUE)))
93:
94: #undef ASM_OUTPUT_DOUBLE_OPERAND
95: #define ASM_OUTPUT_DOUBLE_OPERAND(FILE,VALUE) \
96: (isinf ((VALUE)) \
97: ? fprintf (FILE, "#0r%s99e999", ((VALUE) > 0 ? "" : "-")) \
98: : fprintf (FILE, "#0r%.20g", (VALUE)))
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.