Mercurial > hg > CbC > CbC_gcc
annotate gcc/defaults.h @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
rev | line source |
---|---|
0 | 1 /* Definitions of various defaults for tm.h macros. |
131 | 2 Copyright (C) 1992-2018 Free Software Foundation, Inc. |
0 | 3 Contributed by Ron Guilmette (rfg@monkeys.com) |
4 | |
5 This file is part of GCC. | |
6 | |
7 GCC is free software; you can redistribute it and/or modify it under | |
8 the terms of the GNU General Public License as published by the Free | |
9 Software Foundation; either version 3, or (at your option) any later | |
10 version. | |
11 | |
12 GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 for more details. | |
16 | |
17 Under Section 7 of GPL version 3, you are granted additional | |
18 permissions described in the GCC Runtime Library Exception, version | |
19 3.1, as published by the Free Software Foundation. | |
20 | |
21 You should have received a copy of the GNU General Public License and | |
22 a copy of the GCC Runtime Library Exception along with this program; | |
23 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | |
24 <http://www.gnu.org/licenses/>. */ | |
25 | |
26 #ifndef GCC_DEFAULTS_H | |
27 #define GCC_DEFAULTS_H | |
28 | |
111 | 29 /* How to start an assembler comment. */ |
30 #ifndef ASM_COMMENT_START | |
31 #define ASM_COMMENT_START ";#" | |
32 #endif | |
33 | |
0 | 34 /* Store in OUTPUT a string (made with alloca) containing an |
35 assembler-name for a local static variable or function named NAME. | |
36 LABELNO is an integer which is different for each call. */ | |
37 | |
38 #ifndef ASM_PN_FORMAT | |
39 # ifndef NO_DOT_IN_LABEL | |
40 # define ASM_PN_FORMAT "%s.%lu" | |
41 # else | |
42 # ifndef NO_DOLLAR_IN_LABEL | |
43 # define ASM_PN_FORMAT "%s$%lu" | |
44 # else | |
45 # define ASM_PN_FORMAT "__%s_%lu" | |
46 # endif | |
47 # endif | |
48 #endif /* ! ASM_PN_FORMAT */ | |
49 | |
50 #ifndef ASM_FORMAT_PRIVATE_NAME | |
51 # define ASM_FORMAT_PRIVATE_NAME(OUTPUT, NAME, LABELNO) \ | |
52 do { const char *const name_ = (NAME); \ | |
53 char *const output_ = (OUTPUT) = \ | |
54 (char *) alloca (strlen (name_) + 32); \ | |
55 sprintf (output_, ASM_PN_FORMAT, name_, (unsigned long)(LABELNO)); \ | |
56 } while (0) | |
57 #endif | |
58 | |
59 /* Choose a reasonable default for ASM_OUTPUT_ASCII. */ | |
60 | |
61 #ifndef ASM_OUTPUT_ASCII | |
62 #define ASM_OUTPUT_ASCII(MYFILE, MYSTRING, MYLENGTH) \ | |
63 do { \ | |
64 FILE *_hide_asm_out_file = (MYFILE); \ | |
65 const unsigned char *_hide_p = (const unsigned char *) (MYSTRING); \ | |
66 int _hide_thissize = (MYLENGTH); \ | |
67 { \ | |
68 FILE *asm_out_file = _hide_asm_out_file; \ | |
69 const unsigned char *p = _hide_p; \ | |
70 int thissize = _hide_thissize; \ | |
71 int i; \ | |
72 fprintf (asm_out_file, "\t.ascii \""); \ | |
73 \ | |
74 for (i = 0; i < thissize; i++) \ | |
75 { \ | |
76 int c = p[i]; \ | |
77 if (c == '\"' || c == '\\') \ | |
78 putc ('\\', asm_out_file); \ | |
111 | 79 if (ISPRINT (c)) \ |
0 | 80 putc (c, asm_out_file); \ |
81 else \ | |
82 { \ | |
83 fprintf (asm_out_file, "\\%o", c); \ | |
84 /* After an octal-escape, if a digit follows, \ | |
85 terminate one string constant and start another. \ | |
86 The VAX assembler fails to stop reading the escape \ | |
87 after three digits, so this is the only way we \ | |
88 can get it to parse the data properly. */ \ | |
111 | 89 if (i < thissize - 1 && ISDIGIT (p[i + 1])) \ |
0 | 90 fprintf (asm_out_file, "\"\n\t.ascii \""); \ |
91 } \ | |
92 } \ | |
93 fprintf (asm_out_file, "\"\n"); \ | |
94 } \ | |
95 } \ | |
96 while (0) | |
97 #endif | |
98 | |
99 /* This is how we tell the assembler to equate two values. */ | |
100 #ifdef SET_ASM_OP | |
101 #ifndef ASM_OUTPUT_DEF | |
102 #define ASM_OUTPUT_DEF(FILE,LABEL1,LABEL2) \ | |
103 do { fprintf ((FILE), "%s", SET_ASM_OP); \ | |
104 assemble_name (FILE, LABEL1); \ | |
105 fprintf (FILE, ","); \ | |
106 assemble_name (FILE, LABEL2); \ | |
107 fprintf (FILE, "\n"); \ | |
108 } while (0) | |
109 #endif | |
110 #endif | |
111 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
112 #ifndef IFUNC_ASM_TYPE |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
113 #define IFUNC_ASM_TYPE "gnu_indirect_function" |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
114 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
115 |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
116 #ifndef TLS_COMMON_ASM_OP |
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
117 #define TLS_COMMON_ASM_OP ".tls_common" |
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
118 #endif |
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
119 |
0 | 120 #if defined (HAVE_AS_TLS) && !defined (ASM_OUTPUT_TLS_COMMON) |
121 #define ASM_OUTPUT_TLS_COMMON(FILE, DECL, NAME, SIZE) \ | |
122 do \ | |
123 { \ | |
63
b7f97abdc517
update gcc from gcc-4.5.0 to gcc-4.6
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
55
diff
changeset
|
124 fprintf ((FILE), "\t%s\t", TLS_COMMON_ASM_OP); \ |
0 | 125 assemble_name ((FILE), (NAME)); \ |
111 | 126 fprintf ((FILE), "," HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ |
0 | 127 (SIZE), DECL_ALIGN (DECL) / BITS_PER_UNIT); \ |
128 } \ | |
129 while (0) | |
130 #endif | |
131 | |
132 /* Decide whether to defer emitting the assembler output for an equate | |
133 of two values. The default is to not defer output. */ | |
134 #ifndef TARGET_DEFERRED_OUTPUT_DEFS | |
135 #define TARGET_DEFERRED_OUTPUT_DEFS(DECL,TARGET) false | |
136 #endif | |
137 | |
138 /* This is how to output the definition of a user-level label named | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
139 NAME, such as the label on variable NAME. */ |
0 | 140 |
141 #ifndef ASM_OUTPUT_LABEL | |
142 #define ASM_OUTPUT_LABEL(FILE,NAME) \ | |
111 | 143 do { \ |
144 assemble_name ((FILE), (NAME)); \ | |
145 fputs (":\n", (FILE)); \ | |
146 } while (0) | |
0 | 147 #endif |
148 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
149 /* This is how to output the definition of a user-level label named |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
150 NAME, such as the label on a function. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
151 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
152 #ifndef ASM_OUTPUT_FUNCTION_LABEL |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
153 #define ASM_OUTPUT_FUNCTION_LABEL(FILE, NAME, DECL) \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
154 ASM_OUTPUT_LABEL ((FILE), (NAME)) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
155 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
156 |
0 | 157 /* Output the definition of a compiler-generated label named NAME. */ |
158 #ifndef ASM_OUTPUT_INTERNAL_LABEL | |
159 #define ASM_OUTPUT_INTERNAL_LABEL(FILE,NAME) \ | |
160 do { \ | |
161 assemble_name_raw ((FILE), (NAME)); \ | |
162 fputs (":\n", (FILE)); \ | |
163 } while (0) | |
164 #endif | |
165 | |
166 /* This is how to output a reference to a user-level label named NAME. */ | |
167 | |
168 #ifndef ASM_OUTPUT_LABELREF | |
111 | 169 #define ASM_OUTPUT_LABELREF(FILE,NAME) \ |
170 do { \ | |
171 fputs (user_label_prefix, (FILE)); \ | |
172 fputs ((NAME), (FILE)); \ | |
131 | 173 } while (0) |
0 | 174 #endif |
175 | |
176 /* Allow target to print debug info labels specially. This is useful for | |
177 VLIW targets, since debug info labels should go into the middle of | |
178 instruction bundles instead of breaking them. */ | |
179 | |
180 #ifndef ASM_OUTPUT_DEBUG_LABEL | |
181 #define ASM_OUTPUT_DEBUG_LABEL(FILE, PREFIX, NUM) \ | |
182 (*targetm.asm_out.internal_label) (FILE, PREFIX, NUM) | |
183 #endif | |
184 | |
185 /* This is how we tell the assembler that a symbol is weak. */ | |
186 #ifndef ASM_OUTPUT_WEAK_ALIAS | |
187 #if defined (ASM_WEAKEN_LABEL) && defined (ASM_OUTPUT_DEF) | |
188 #define ASM_OUTPUT_WEAK_ALIAS(STREAM, NAME, VALUE) \ | |
189 do \ | |
190 { \ | |
191 ASM_WEAKEN_LABEL (STREAM, NAME); \ | |
192 if (VALUE) \ | |
193 ASM_OUTPUT_DEF (STREAM, NAME, VALUE); \ | |
194 } \ | |
195 while (0) | |
196 #endif | |
197 #endif | |
198 | |
199 /* This is how we tell the assembler that a symbol is a weak alias to | |
200 another symbol that doesn't require the other symbol to be defined. | |
201 Uses of the former will turn into weak uses of the latter, i.e., | |
202 uses that, in case the latter is undefined, will not cause errors, | |
203 and will add it to the symbol table as weak undefined. However, if | |
204 the latter is referenced directly, a strong reference prevails. */ | |
205 #ifndef ASM_OUTPUT_WEAKREF | |
206 #if defined HAVE_GAS_WEAKREF | |
207 #define ASM_OUTPUT_WEAKREF(FILE, DECL, NAME, VALUE) \ | |
208 do \ | |
209 { \ | |
210 fprintf ((FILE), "\t.weakref\t"); \ | |
211 assemble_name ((FILE), (NAME)); \ | |
212 fprintf ((FILE), ","); \ | |
213 assemble_name ((FILE), (VALUE)); \ | |
214 fprintf ((FILE), "\n"); \ | |
215 } \ | |
216 while (0) | |
217 #endif | |
218 #endif | |
219 | |
220 /* How to emit a .type directive. */ | |
221 #ifndef ASM_OUTPUT_TYPE_DIRECTIVE | |
222 #if defined TYPE_ASM_OP && defined TYPE_OPERAND_FMT | |
223 #define ASM_OUTPUT_TYPE_DIRECTIVE(STREAM, NAME, TYPE) \ | |
224 do \ | |
225 { \ | |
226 fputs (TYPE_ASM_OP, STREAM); \ | |
227 assemble_name (STREAM, NAME); \ | |
228 fputs (", ", STREAM); \ | |
229 fprintf (STREAM, TYPE_OPERAND_FMT, TYPE); \ | |
230 putc ('\n', STREAM); \ | |
231 } \ | |
232 while (0) | |
233 #endif | |
234 #endif | |
235 | |
236 /* How to emit a .size directive. */ | |
237 #ifndef ASM_OUTPUT_SIZE_DIRECTIVE | |
238 #ifdef SIZE_ASM_OP | |
239 #define ASM_OUTPUT_SIZE_DIRECTIVE(STREAM, NAME, SIZE) \ | |
240 do \ | |
241 { \ | |
242 HOST_WIDE_INT size_ = (SIZE); \ | |
243 fputs (SIZE_ASM_OP, STREAM); \ | |
244 assemble_name (STREAM, NAME); \ | |
245 fprintf (STREAM, ", " HOST_WIDE_INT_PRINT_DEC "\n", size_); \ | |
246 } \ | |
247 while (0) | |
248 | |
249 #define ASM_OUTPUT_MEASURED_SIZE(STREAM, NAME) \ | |
250 do \ | |
251 { \ | |
252 fputs (SIZE_ASM_OP, STREAM); \ | |
253 assemble_name (STREAM, NAME); \ | |
254 fputs (", .-", STREAM); \ | |
255 assemble_name (STREAM, NAME); \ | |
256 putc ('\n', STREAM); \ | |
257 } \ | |
258 while (0) | |
259 | |
260 #endif | |
261 #endif | |
262 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
263 /* This determines whether or not we support weak symbols. SUPPORTS_WEAK |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
264 must be a preprocessor constant. */ |
0 | 265 #ifndef SUPPORTS_WEAK |
266 #if defined (ASM_WEAKEN_LABEL) || defined (ASM_WEAKEN_DECL) | |
267 #define SUPPORTS_WEAK 1 | |
268 #else | |
269 #define SUPPORTS_WEAK 0 | |
270 #endif | |
271 #endif | |
272 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
273 /* This determines whether or not we support weak symbols during target |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
274 code generation. TARGET_SUPPORTS_WEAK can be any valid C expression. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
275 #ifndef TARGET_SUPPORTS_WEAK |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
276 #define TARGET_SUPPORTS_WEAK (SUPPORTS_WEAK) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
277 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
278 |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
279 /* This determines whether or not we support the discriminator |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
280 attribute in the .loc directive. */ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
281 #ifndef SUPPORTS_DISCRIMINATOR |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
282 #ifdef HAVE_GAS_DISCRIMINATOR |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
283 #define SUPPORTS_DISCRIMINATOR 1 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
284 #else |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
285 #define SUPPORTS_DISCRIMINATOR 0 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
286 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
287 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
288 |
0 | 289 /* This determines whether or not we support link-once semantics. */ |
290 #ifndef SUPPORTS_ONE_ONLY | |
291 #ifdef MAKE_DECL_ONE_ONLY | |
292 #define SUPPORTS_ONE_ONLY 1 | |
293 #else | |
294 #define SUPPORTS_ONE_ONLY 0 | |
295 #endif | |
296 #endif | |
297 | |
298 /* This determines whether weak symbols must be left out of a static | |
299 archive's table of contents. Defining this macro to be nonzero has | |
300 the consequence that certain symbols will not be made weak that | |
301 otherwise would be. The C++ ABI requires this macro to be zero; | |
302 see the documentation. */ | |
303 #ifndef TARGET_WEAK_NOT_IN_ARCHIVE_TOC | |
304 #define TARGET_WEAK_NOT_IN_ARCHIVE_TOC 0 | |
305 #endif | |
306 | |
307 /* This determines whether or not we need linkonce unwind information. */ | |
308 #ifndef TARGET_USES_WEAK_UNWIND_INFO | |
309 #define TARGET_USES_WEAK_UNWIND_INFO 0 | |
310 #endif | |
311 | |
312 /* By default, there is no prefix on user-defined symbols. */ | |
313 #ifndef USER_LABEL_PREFIX | |
314 #define USER_LABEL_PREFIX "" | |
315 #endif | |
316 | |
317 /* If the target supports weak symbols, define TARGET_ATTRIBUTE_WEAK to | |
318 provide a weak attribute. Else define it to nothing. | |
319 | |
320 This would normally belong in ansidecl.h, but SUPPORTS_WEAK is | |
321 not available at that time. | |
322 | |
323 Note, this is only for use by target files which we know are to be | |
324 compiled by GCC. */ | |
325 #ifndef TARGET_ATTRIBUTE_WEAK | |
326 # if SUPPORTS_WEAK | |
327 # define TARGET_ATTRIBUTE_WEAK __attribute__ ((weak)) | |
328 # else | |
329 # define TARGET_ATTRIBUTE_WEAK | |
330 # endif | |
331 #endif | |
332 | |
333 /* By default we can assume that all global symbols are in one namespace, | |
334 across all shared libraries. */ | |
335 #ifndef MULTIPLE_SYMBOL_SPACES | |
336 # define MULTIPLE_SYMBOL_SPACES 0 | |
337 #endif | |
338 | |
339 /* If the target supports init_priority C++ attribute, give | |
340 SUPPORTS_INIT_PRIORITY a nonzero value. */ | |
341 #ifndef SUPPORTS_INIT_PRIORITY | |
342 #define SUPPORTS_INIT_PRIORITY 1 | |
343 #endif /* SUPPORTS_INIT_PRIORITY */ | |
344 | |
345 /* If we have a definition of INCOMING_RETURN_ADDR_RTX, assume that | |
346 the rest of the DWARF 2 frame unwind support is also provided. */ | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
347 #if !defined (DWARF2_UNWIND_INFO) && defined (INCOMING_RETURN_ADDR_RTX) |
0 | 348 #define DWARF2_UNWIND_INFO 1 |
349 #endif | |
350 | |
351 /* If we have named sections, and we're using crtstuff to run ctors, | |
352 use them for registering eh frame information. */ | |
353 #if defined (TARGET_ASM_NAMED_SECTION) && DWARF2_UNWIND_INFO \ | |
111 | 354 && !defined (EH_FRAME_THROUGH_COLLECT2) |
0 | 355 #ifndef EH_FRAME_SECTION_NAME |
356 #define EH_FRAME_SECTION_NAME ".eh_frame" | |
357 #endif | |
358 #endif | |
359 | |
360 /* On many systems, different EH table encodings are used under | |
361 difference circumstances. Some will require runtime relocations; | |
362 some will not. For those that do not require runtime relocations, | |
363 we would like to make the table read-only. However, since the | |
364 read-only tables may need to be combined with read-write tables | |
365 that do require runtime relocation, it is not safe to make the | |
366 tables read-only unless the linker will merge read-only and | |
367 read-write sections into a single read-write section. If your | |
368 linker does not have this ability, but your system is such that no | |
369 encoding used with non-PIC code will ever require a runtime | |
370 relocation, then you can define EH_TABLES_CAN_BE_READ_ONLY to 1 in | |
371 your target configuration file. */ | |
372 #ifndef EH_TABLES_CAN_BE_READ_ONLY | |
373 #ifdef HAVE_LD_RO_RW_SECTION_MIXING | |
374 #define EH_TABLES_CAN_BE_READ_ONLY 1 | |
375 #else | |
376 #define EH_TABLES_CAN_BE_READ_ONLY 0 | |
377 #endif | |
378 #endif | |
379 | |
111 | 380 /* Provide defaults for stuff that may not be defined when using |
381 sjlj exceptions. */ | |
382 #ifndef EH_RETURN_DATA_REGNO | |
383 #define EH_RETURN_DATA_REGNO(N) INVALID_REGNUM | |
0 | 384 #endif |
385 | |
111 | 386 /* Offset between the eh handler address and entry in eh tables. */ |
387 #ifndef RETURN_ADDR_OFFSET | |
388 #define RETURN_ADDR_OFFSET 0 | |
0 | 389 #endif |
111 | 390 |
391 #ifndef MASK_RETURN_ADDR | |
392 #define MASK_RETURN_ADDR NULL_RTX | |
0 | 393 #endif |
394 | |
395 /* Number of hardware registers that go into the DWARF-2 unwind info. | |
396 If not defined, equals FIRST_PSEUDO_REGISTER */ | |
397 | |
398 #ifndef DWARF_FRAME_REGISTERS | |
399 #define DWARF_FRAME_REGISTERS FIRST_PSEUDO_REGISTER | |
400 #endif | |
401 | |
111 | 402 /* Offsets recorded in opcodes are a multiple of this alignment factor. */ |
403 #ifndef DWARF_CIE_DATA_ALIGNMENT | |
404 #ifdef STACK_GROWS_DOWNWARD | |
405 #define DWARF_CIE_DATA_ALIGNMENT (-((int) UNITS_PER_WORD)) | |
406 #else | |
407 #define DWARF_CIE_DATA_ALIGNMENT ((int) UNITS_PER_WORD) | |
408 #endif | |
409 #endif | |
410 | |
411 /* The DWARF 2 CFA column which tracks the return address. Normally this | |
412 is the column for PC, or the first column after all of the hard | |
413 registers. */ | |
414 #ifndef DWARF_FRAME_RETURN_COLUMN | |
415 #ifdef PC_REGNUM | |
416 #define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGNUM (PC_REGNUM) | |
417 #else | |
418 #define DWARF_FRAME_RETURN_COLUMN DWARF_FRAME_REGISTERS | |
419 #endif | |
420 #endif | |
421 | |
0 | 422 /* How to renumber registers for dbx and gdb. If not defined, assume |
423 no renumbering is necessary. */ | |
424 | |
425 #ifndef DBX_REGISTER_NUMBER | |
426 #define DBX_REGISTER_NUMBER(REGNO) (REGNO) | |
427 #endif | |
428 | |
111 | 429 /* The mapping from gcc register number to DWARF 2 CFA column number. |
430 By default, we just provide columns for all registers. */ | |
431 #ifndef DWARF_FRAME_REGNUM | |
432 #define DWARF_FRAME_REGNUM(REG) DBX_REGISTER_NUMBER (REG) | |
433 #endif | |
434 | |
435 /* The mapping from dwarf CFA reg number to internal dwarf reg numbers. */ | |
436 #ifndef DWARF_REG_TO_UNWIND_COLUMN | |
437 #define DWARF_REG_TO_UNWIND_COLUMN(REGNO) (REGNO) | |
438 #endif | |
439 | |
440 /* Map register numbers held in the call frame info that gcc has | |
441 collected using DWARF_FRAME_REGNUM to those that should be output in | |
442 .debug_frame and .eh_frame. */ | |
443 #ifndef DWARF2_FRAME_REG_OUT | |
444 #define DWARF2_FRAME_REG_OUT(REGNO, FOR_EH) (REGNO) | |
445 #endif | |
446 | |
447 /* The size of addresses as they appear in the Dwarf 2 data. | |
448 Some architectures use word addresses to refer to code locations, | |
449 but Dwarf 2 info always uses byte addresses. On such machines, | |
450 Dwarf 2 addresses need to be larger than the architecture's | |
451 pointers. */ | |
452 #ifndef DWARF2_ADDR_SIZE | |
453 #define DWARF2_ADDR_SIZE ((POINTER_SIZE + BITS_PER_UNIT - 1) / BITS_PER_UNIT) | |
454 #endif | |
455 | |
456 /* The size in bytes of a DWARF field indicating an offset or length | |
457 relative to a debug info section, specified to be 4 bytes in the | |
458 DWARF-2 specification. The SGI/MIPS ABI defines it to be the same | |
459 as PTR_SIZE. */ | |
460 #ifndef DWARF_OFFSET_SIZE | |
461 #define DWARF_OFFSET_SIZE 4 | |
462 #endif | |
463 | |
464 /* The size in bytes of a DWARF 4 type signature. */ | |
465 #ifndef DWARF_TYPE_SIGNATURE_SIZE | |
466 #define DWARF_TYPE_SIGNATURE_SIZE 8 | |
467 #endif | |
468 | |
0 | 469 /* Default sizes for base C types. If the sizes are different for |
470 your target, you should override these values by defining the | |
471 appropriate symbols in your tm.h file. */ | |
472 | |
473 #ifndef BITS_PER_WORD | |
474 #define BITS_PER_WORD (BITS_PER_UNIT * UNITS_PER_WORD) | |
475 #endif | |
476 | |
477 #ifndef CHAR_TYPE_SIZE | |
478 #define CHAR_TYPE_SIZE BITS_PER_UNIT | |
479 #endif | |
480 | |
481 #ifndef BOOL_TYPE_SIZE | |
482 /* `bool' has size and alignment `1', on almost all platforms. */ | |
483 #define BOOL_TYPE_SIZE CHAR_TYPE_SIZE | |
484 #endif | |
485 | |
486 #ifndef SHORT_TYPE_SIZE | |
487 #define SHORT_TYPE_SIZE (BITS_PER_UNIT * MIN ((UNITS_PER_WORD + 1) / 2, 2)) | |
488 #endif | |
489 | |
490 #ifndef INT_TYPE_SIZE | |
491 #define INT_TYPE_SIZE BITS_PER_WORD | |
492 #endif | |
493 | |
494 #ifndef LONG_TYPE_SIZE | |
495 #define LONG_TYPE_SIZE BITS_PER_WORD | |
496 #endif | |
497 | |
498 #ifndef LONG_LONG_TYPE_SIZE | |
499 #define LONG_LONG_TYPE_SIZE (BITS_PER_WORD * 2) | |
500 #endif | |
501 | |
502 #ifndef WCHAR_TYPE_SIZE | |
503 #define WCHAR_TYPE_SIZE INT_TYPE_SIZE | |
504 #endif | |
505 | |
506 #ifndef FLOAT_TYPE_SIZE | |
507 #define FLOAT_TYPE_SIZE BITS_PER_WORD | |
508 #endif | |
509 | |
510 #ifndef DOUBLE_TYPE_SIZE | |
511 #define DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) | |
512 #endif | |
513 | |
514 #ifndef LONG_DOUBLE_TYPE_SIZE | |
515 #define LONG_DOUBLE_TYPE_SIZE (BITS_PER_WORD * 2) | |
516 #endif | |
517 | |
518 #ifndef DECIMAL32_TYPE_SIZE | |
519 #define DECIMAL32_TYPE_SIZE 32 | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
520 #endif |
0 | 521 |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
522 #ifndef DECIMAL64_TYPE_SIZE |
0 | 523 #define DECIMAL64_TYPE_SIZE 64 |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
524 #endif |
0 | 525 |
526 #ifndef DECIMAL128_TYPE_SIZE | |
527 #define DECIMAL128_TYPE_SIZE 128 | |
528 #endif | |
529 | |
530 #ifndef SHORT_FRACT_TYPE_SIZE | |
531 #define SHORT_FRACT_TYPE_SIZE BITS_PER_UNIT | |
532 #endif | |
533 | |
534 #ifndef FRACT_TYPE_SIZE | |
535 #define FRACT_TYPE_SIZE (BITS_PER_UNIT * 2) | |
536 #endif | |
537 | |
538 #ifndef LONG_FRACT_TYPE_SIZE | |
539 #define LONG_FRACT_TYPE_SIZE (BITS_PER_UNIT * 4) | |
540 #endif | |
541 | |
542 #ifndef LONG_LONG_FRACT_TYPE_SIZE | |
543 #define LONG_LONG_FRACT_TYPE_SIZE (BITS_PER_UNIT * 8) | |
544 #endif | |
545 | |
546 #ifndef SHORT_ACCUM_TYPE_SIZE | |
547 #define SHORT_ACCUM_TYPE_SIZE (SHORT_FRACT_TYPE_SIZE * 2) | |
548 #endif | |
549 | |
550 #ifndef ACCUM_TYPE_SIZE | |
551 #define ACCUM_TYPE_SIZE (FRACT_TYPE_SIZE * 2) | |
552 #endif | |
553 | |
554 #ifndef LONG_ACCUM_TYPE_SIZE | |
555 #define LONG_ACCUM_TYPE_SIZE (LONG_FRACT_TYPE_SIZE * 2) | |
556 #endif | |
557 | |
558 #ifndef LONG_LONG_ACCUM_TYPE_SIZE | |
559 #define LONG_LONG_ACCUM_TYPE_SIZE (LONG_LONG_FRACT_TYPE_SIZE * 2) | |
560 #endif | |
561 | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
562 /* We let tm.h override the types used here, to handle trivial differences |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
563 such as the choice of unsigned int or long unsigned int for size_t. |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
564 When machines start needing nontrivial differences in the size type, |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
565 it would be best to do something here to figure out automatically |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
566 from other information what type to use. */ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
567 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
568 #ifndef SIZE_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
569 #define SIZE_TYPE "long unsigned int" |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
570 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
571 |
111 | 572 #ifndef SIZETYPE |
573 #define SIZETYPE SIZE_TYPE | |
574 #endif | |
575 | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
576 #ifndef PID_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
577 #define PID_TYPE "int" |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
578 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
579 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
580 /* If GCC knows the exact uint_least16_t and uint_least32_t types from |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
581 <stdint.h>, use them for char16_t and char32_t. Otherwise, use |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
582 these guesses; getting the wrong type of a given width will not |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
583 affect C++ name mangling because in C++ these are distinct types |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
584 not typedefs. */ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
585 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
586 #ifdef UINT_LEAST16_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
587 #define CHAR16_TYPE UINT_LEAST16_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
588 #else |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
589 #define CHAR16_TYPE "short unsigned int" |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
590 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
591 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
592 #ifdef UINT_LEAST32_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
593 #define CHAR32_TYPE UINT_LEAST32_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
594 #else |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
595 #define CHAR32_TYPE "unsigned int" |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
596 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
597 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
598 #ifndef WCHAR_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
599 #define WCHAR_TYPE "int" |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
600 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
601 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
602 /* WCHAR_TYPE gets overridden by -fshort-wchar. */ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
603 #define MODIFIED_WCHAR_TYPE \ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
604 (flag_short_wchar ? "short unsigned int" : WCHAR_TYPE) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
605 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
606 #ifndef PTRDIFF_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
607 #define PTRDIFF_TYPE "long int" |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
608 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
609 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
610 #ifndef WINT_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
611 #define WINT_TYPE "unsigned int" |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
612 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
613 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
614 #ifndef INTMAX_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
615 #define INTMAX_TYPE ((INT_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
616 ? "int" \ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
617 : ((LONG_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
618 ? "long int" \ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
619 : "long long int")) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
620 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
621 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
622 #ifndef UINTMAX_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
623 #define UINTMAX_TYPE ((INT_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
624 ? "unsigned int" \ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
625 : ((LONG_TYPE_SIZE == LONG_LONG_TYPE_SIZE) \ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
626 ? "long unsigned int" \ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
627 : "long long unsigned int")) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
628 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
629 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
630 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
631 /* There are no default definitions of these <stdint.h> types. */ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
632 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
633 #ifndef SIG_ATOMIC_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
634 #define SIG_ATOMIC_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
635 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
636 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
637 #ifndef INT8_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
638 #define INT8_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
639 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
640 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
641 #ifndef INT16_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
642 #define INT16_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
643 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
644 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
645 #ifndef INT32_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
646 #define INT32_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
647 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
648 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
649 #ifndef INT64_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
650 #define INT64_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
651 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
652 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
653 #ifndef UINT8_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
654 #define UINT8_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
655 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
656 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
657 #ifndef UINT16_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
658 #define UINT16_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
659 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
660 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
661 #ifndef UINT32_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
662 #define UINT32_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
663 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
664 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
665 #ifndef UINT64_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
666 #define UINT64_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
667 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
668 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
669 #ifndef INT_LEAST8_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
670 #define INT_LEAST8_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
671 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
672 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
673 #ifndef INT_LEAST16_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
674 #define INT_LEAST16_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
675 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
676 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
677 #ifndef INT_LEAST32_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
678 #define INT_LEAST32_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
679 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
680 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
681 #ifndef INT_LEAST64_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
682 #define INT_LEAST64_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
683 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
684 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
685 #ifndef UINT_LEAST8_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
686 #define UINT_LEAST8_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
687 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
688 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
689 #ifndef UINT_LEAST16_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
690 #define UINT_LEAST16_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
691 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
692 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
693 #ifndef UINT_LEAST32_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
694 #define UINT_LEAST32_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
695 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
696 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
697 #ifndef UINT_LEAST64_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
698 #define UINT_LEAST64_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
699 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
700 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
701 #ifndef INT_FAST8_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
702 #define INT_FAST8_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
703 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
704 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
705 #ifndef INT_FAST16_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
706 #define INT_FAST16_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
707 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
708 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
709 #ifndef INT_FAST32_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
710 #define INT_FAST32_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
711 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
712 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
713 #ifndef INT_FAST64_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
714 #define INT_FAST64_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
715 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
716 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
717 #ifndef UINT_FAST8_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
718 #define UINT_FAST8_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
719 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
720 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
721 #ifndef UINT_FAST16_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
722 #define UINT_FAST16_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
723 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
724 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
725 #ifndef UINT_FAST32_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
726 #define UINT_FAST32_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
727 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
728 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
729 #ifndef UINT_FAST64_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
730 #define UINT_FAST64_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
731 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
732 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
733 #ifndef INTPTR_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
734 #define INTPTR_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
735 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
736 |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
737 #ifndef UINTPTR_TYPE |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
738 #define UINTPTR_TYPE ((const char *) NULL) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
739 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
740 |
0 | 741 /* Width in bits of a pointer. Mind the value of the macro `Pmode'. */ |
742 #ifndef POINTER_SIZE | |
743 #define POINTER_SIZE BITS_PER_WORD | |
744 #endif | |
111 | 745 #ifndef POINTER_SIZE_UNITS |
746 #define POINTER_SIZE_UNITS ((POINTER_SIZE + BITS_PER_UNIT - 1) / BITS_PER_UNIT) | |
747 #endif | |
748 | |
0 | 749 |
750 #ifndef PIC_OFFSET_TABLE_REGNUM | |
751 #define PIC_OFFSET_TABLE_REGNUM INVALID_REGNUM | |
752 #endif | |
753 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
754 #ifndef PIC_OFFSET_TABLE_REG_CALL_CLOBBERED |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
755 #define PIC_OFFSET_TABLE_REG_CALL_CLOBBERED 0 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
756 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
757 |
0 | 758 #ifndef TARGET_DLLIMPORT_DECL_ATTRIBUTES |
759 #define TARGET_DLLIMPORT_DECL_ATTRIBUTES 0 | |
760 #endif | |
761 | |
762 #ifndef TARGET_DECLSPEC | |
763 #if TARGET_DLLIMPORT_DECL_ATTRIBUTES | |
764 /* If the target supports the "dllimport" attribute, users are | |
765 probably used to the "__declspec" syntax. */ | |
766 #define TARGET_DECLSPEC 1 | |
767 #else | |
768 #define TARGET_DECLSPEC 0 | |
769 #endif | |
770 #endif | |
771 | |
772 /* By default, the preprocessor should be invoked the same way in C++ | |
773 as in C. */ | |
774 #ifndef CPLUSPLUS_CPP_SPEC | |
775 #ifdef CPP_SPEC | |
776 #define CPLUSPLUS_CPP_SPEC CPP_SPEC | |
777 #endif | |
778 #endif | |
779 | |
780 #ifndef ACCUMULATE_OUTGOING_ARGS | |
781 #define ACCUMULATE_OUTGOING_ARGS 0 | |
782 #endif | |
783 | |
111 | 784 /* By default, use the GNU runtime for Objective C. */ |
785 #ifndef NEXT_OBJC_RUNTIME | |
786 #define NEXT_OBJC_RUNTIME 0 | |
787 #endif | |
788 | |
0 | 789 /* Supply a default definition for PUSH_ARGS. */ |
790 #ifndef PUSH_ARGS | |
791 #ifdef PUSH_ROUNDING | |
792 #define PUSH_ARGS !ACCUMULATE_OUTGOING_ARGS | |
793 #else | |
794 #define PUSH_ARGS 0 | |
795 #endif | |
796 #endif | |
797 | |
798 /* Decide whether a function's arguments should be processed | |
799 from first to last or from last to first. | |
800 | |
801 They should if the stack and args grow in opposite directions, but | |
802 only if we have push insns. */ | |
803 | |
804 #ifdef PUSH_ROUNDING | |
805 | |
806 #ifndef PUSH_ARGS_REVERSED | |
807 #if defined (STACK_GROWS_DOWNWARD) != defined (ARGS_GROW_DOWNWARD) | |
808 #define PUSH_ARGS_REVERSED PUSH_ARGS | |
809 #endif | |
810 #endif | |
811 | |
812 #endif | |
813 | |
814 #ifndef PUSH_ARGS_REVERSED | |
815 #define PUSH_ARGS_REVERSED 0 | |
816 #endif | |
817 | |
818 /* Default value for the alignment (in bits) a C conformant malloc has to | |
819 provide. This default is intended to be safe and always correct. */ | |
820 #ifndef MALLOC_ABI_ALIGNMENT | |
821 #define MALLOC_ABI_ALIGNMENT BITS_PER_WORD | |
822 #endif | |
823 | |
824 /* If PREFERRED_STACK_BOUNDARY is not defined, set it to STACK_BOUNDARY. | |
825 STACK_BOUNDARY is required. */ | |
826 #ifndef PREFERRED_STACK_BOUNDARY | |
827 #define PREFERRED_STACK_BOUNDARY STACK_BOUNDARY | |
828 #endif | |
829 | |
830 /* Set INCOMING_STACK_BOUNDARY to PREFERRED_STACK_BOUNDARY if it is not | |
831 defined. */ | |
832 #ifndef INCOMING_STACK_BOUNDARY | |
833 #define INCOMING_STACK_BOUNDARY PREFERRED_STACK_BOUNDARY | |
834 #endif | |
835 | |
836 #ifndef TARGET_DEFAULT_PACK_STRUCT | |
837 #define TARGET_DEFAULT_PACK_STRUCT 0 | |
838 #endif | |
839 | |
840 /* By default, the vtable entries are void pointers, the so the alignment | |
841 is the same as pointer alignment. The value of this macro specifies | |
842 the alignment of the vtable entry in bits. It should be defined only | |
843 when special alignment is necessary. */ | |
844 #ifndef TARGET_VTABLE_ENTRY_ALIGN | |
845 #define TARGET_VTABLE_ENTRY_ALIGN POINTER_SIZE | |
846 #endif | |
847 | |
848 /* There are a few non-descriptor entries in the vtable at offsets below | |
849 zero. If these entries must be padded (say, to preserve the alignment | |
850 specified by TARGET_VTABLE_ENTRY_ALIGN), set this to the number of | |
851 words in each data entry. */ | |
852 #ifndef TARGET_VTABLE_DATA_ENTRY_DISTANCE | |
853 #define TARGET_VTABLE_DATA_ENTRY_DISTANCE 1 | |
854 #endif | |
855 | |
856 /* Decide whether it is safe to use a local alias for a virtual function | |
857 when constructing thunks. */ | |
858 #ifndef TARGET_USE_LOCAL_THUNK_ALIAS_P | |
859 #ifdef ASM_OUTPUT_DEF | |
860 #define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) 1 | |
861 #else | |
862 #define TARGET_USE_LOCAL_THUNK_ALIAS_P(DECL) 0 | |
863 #endif | |
864 #endif | |
865 | |
111 | 866 /* Decide whether target supports aliases. */ |
867 #ifndef TARGET_SUPPORTS_ALIASES | |
868 #ifdef ASM_OUTPUT_DEF | |
869 #define TARGET_SUPPORTS_ALIASES 1 | |
870 #else | |
871 #define TARGET_SUPPORTS_ALIASES 0 | |
872 #endif | |
873 #endif | |
874 | |
0 | 875 /* Select a format to encode pointers in exception handling data. We |
876 prefer those that result in fewer dynamic relocations. Assume no | |
877 special support here and encode direct references. */ | |
878 #ifndef ASM_PREFERRED_EH_DATA_FORMAT | |
879 #define ASM_PREFERRED_EH_DATA_FORMAT(CODE,GLOBAL) DW_EH_PE_absptr | |
880 #endif | |
881 | |
882 /* By default, the C++ compiler will use the lowest bit of the pointer | |
883 to function to indicate a pointer-to-member-function points to a | |
884 virtual member function. However, if FUNCTION_BOUNDARY indicates | |
885 function addresses aren't always even, the lowest bit of the delta | |
886 field will be used. */ | |
887 #ifndef TARGET_PTRMEMFUNC_VBIT_LOCATION | |
888 #define TARGET_PTRMEMFUNC_VBIT_LOCATION \ | |
889 (FUNCTION_BOUNDARY >= 2 * BITS_PER_UNIT \ | |
890 ? ptrmemfunc_vbit_in_pfn : ptrmemfunc_vbit_in_delta) | |
891 #endif | |
892 | |
893 #ifndef DEFAULT_GDB_EXTENSIONS | |
894 #define DEFAULT_GDB_EXTENSIONS 1 | |
895 #endif | |
896 | |
897 /* If more than one debugging type is supported, you must define | |
898 PREFERRED_DEBUGGING_TYPE to choose the default. */ | |
899 | |
131 | 900 #if 1 < (defined (DBX_DEBUGGING_INFO) \ |
0 | 901 + defined (DWARF2_DEBUGGING_INFO) + defined (XCOFF_DEBUGGING_INFO) \ |
902 + defined (VMS_DEBUGGING_INFO)) | |
903 #ifndef PREFERRED_DEBUGGING_TYPE | |
904 #error You must define PREFERRED_DEBUGGING_TYPE | |
905 #endif /* no PREFERRED_DEBUGGING_TYPE */ | |
906 | |
907 /* If only one debugging format is supported, define PREFERRED_DEBUGGING_TYPE | |
908 here so other code needn't care. */ | |
909 #elif defined DBX_DEBUGGING_INFO | |
910 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG | |
911 | |
111 | 912 #elif defined DWARF2_DEBUGGING_INFO || defined DWARF2_LINENO_DEBUGGING_INFO |
0 | 913 #define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG |
914 | |
915 #elif defined VMS_DEBUGGING_INFO | |
916 #define PREFERRED_DEBUGGING_TYPE VMS_AND_DWARF2_DEBUG | |
917 | |
918 #elif defined XCOFF_DEBUGGING_INFO | |
919 #define PREFERRED_DEBUGGING_TYPE XCOFF_DEBUG | |
920 | |
921 #else | |
922 /* No debugging format is supported by this target. */ | |
923 #define PREFERRED_DEBUGGING_TYPE NO_DEBUG | |
924 #endif | |
925 | |
926 #ifndef FLOAT_LIB_COMPARE_RETURNS_BOOL | |
927 #define FLOAT_LIB_COMPARE_RETURNS_BOOL(MODE, COMPARISON) false | |
928 #endif | |
929 | |
930 /* True if the targets integer-comparison functions return { 0, 1, 2 | |
931 } to indicate { <, ==, > }. False if { -1, 0, 1 } is used | |
932 instead. The libgcc routines are biased. */ | |
933 #ifndef TARGET_LIB_INT_CMP_BIASED | |
934 #define TARGET_LIB_INT_CMP_BIASED (true) | |
935 #endif | |
936 | |
937 /* If FLOAT_WORDS_BIG_ENDIAN is not defined in the header files, | |
938 then the word-endianness is the same as for integers. */ | |
939 #ifndef FLOAT_WORDS_BIG_ENDIAN | |
940 #define FLOAT_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN | |
941 #endif | |
942 | |
111 | 943 #ifndef REG_WORDS_BIG_ENDIAN |
944 #define REG_WORDS_BIG_ENDIAN WORDS_BIG_ENDIAN | |
0 | 945 #endif |
946 | |
111 | 947 |
0 | 948 #ifndef TARGET_DEC_EVAL_METHOD |
949 #define TARGET_DEC_EVAL_METHOD 2 | |
950 #endif | |
951 | |
952 #ifndef HAS_LONG_COND_BRANCH | |
953 #define HAS_LONG_COND_BRANCH 0 | |
954 #endif | |
955 | |
956 #ifndef HAS_LONG_UNCOND_BRANCH | |
957 #define HAS_LONG_UNCOND_BRANCH 0 | |
958 #endif | |
959 | |
960 /* Determine whether __cxa_atexit, rather than atexit, is used to | |
961 register C++ destructors for local statics and global objects. */ | |
962 #ifndef DEFAULT_USE_CXA_ATEXIT | |
963 #define DEFAULT_USE_CXA_ATEXIT 0 | |
964 #endif | |
965 | |
966 #if GCC_VERSION >= 3000 && defined IN_GCC | |
967 /* These old constraint macros shouldn't appear anywhere in a | |
968 configuration using MD constraint definitions. */ | |
969 #endif | |
970 | |
111 | 971 /* Determin whether the target runtime library is Bionic */ |
972 #ifndef TARGET_HAS_BIONIC | |
973 #define TARGET_HAS_BIONIC 0 | |
0 | 974 #endif |
975 | |
976 /* Indicate that CLZ and CTZ are undefined at zero. */ | |
977 #ifndef CLZ_DEFINED_VALUE_AT_ZERO | |
978 #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) 0 | |
979 #endif | |
980 #ifndef CTZ_DEFINED_VALUE_AT_ZERO | |
981 #define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) 0 | |
982 #endif | |
983 | |
984 /* Provide a default value for STORE_FLAG_VALUE. */ | |
985 #ifndef STORE_FLAG_VALUE | |
986 #define STORE_FLAG_VALUE 1 | |
987 #endif | |
988 | |
989 /* This macro is used to determine what the largest unit size that | |
990 move_by_pieces can use is. */ | |
991 | |
992 /* MOVE_MAX_PIECES is the number of bytes at a time which we can | |
993 move efficiently, as opposed to MOVE_MAX which is the maximum | |
994 number of bytes we can move with a single instruction. */ | |
995 | |
996 #ifndef MOVE_MAX_PIECES | |
997 #define MOVE_MAX_PIECES MOVE_MAX | |
998 #endif | |
999 | |
111 | 1000 /* STORE_MAX_PIECES is the number of bytes at a time that we can |
1001 store efficiently. Due to internal GCC limitations, this is | |
1002 MOVE_MAX_PIECES limited by the number of bytes GCC can represent | |
1003 for an immediate constant. */ | |
1004 | |
1005 #ifndef STORE_MAX_PIECES | |
1006 #define STORE_MAX_PIECES MIN (MOVE_MAX_PIECES, 2 * sizeof (HOST_WIDE_INT)) | |
1007 #endif | |
1008 | |
1009 /* Likewise for block comparisons. */ | |
1010 #ifndef COMPARE_MAX_PIECES | |
1011 #define COMPARE_MAX_PIECES MOVE_MAX_PIECES | |
1012 #endif | |
1013 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1014 #ifndef MAX_MOVE_MAX |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1015 #define MAX_MOVE_MAX MOVE_MAX |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1016 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1017 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1018 #ifndef MIN_UNITS_PER_WORD |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1019 #define MIN_UNITS_PER_WORD UNITS_PER_WORD |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1020 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1021 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1022 #ifndef MAX_BITS_PER_WORD |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1023 #define MAX_BITS_PER_WORD BITS_PER_WORD |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1024 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1025 |
0 | 1026 #ifndef STACK_POINTER_OFFSET |
1027 #define STACK_POINTER_OFFSET 0 | |
1028 #endif | |
1029 | |
1030 #ifndef LOCAL_REGNO | |
1031 #define LOCAL_REGNO(REGNO) 0 | |
1032 #endif | |
1033 | |
111 | 1034 #ifndef HONOR_REG_ALLOC_ORDER |
1035 #define HONOR_REG_ALLOC_ORDER 0 | |
1036 #endif | |
1037 | |
0 | 1038 /* EXIT_IGNORE_STACK should be nonzero if, when returning from a function, |
1039 the stack pointer does not matter. The value is tested only in | |
1040 functions that have frame pointers. */ | |
1041 #ifndef EXIT_IGNORE_STACK | |
1042 #define EXIT_IGNORE_STACK 0 | |
1043 #endif | |
1044 | |
1045 /* Assume that case vectors are not pc-relative. */ | |
1046 #ifndef CASE_VECTOR_PC_RELATIVE | |
1047 #define CASE_VECTOR_PC_RELATIVE 0 | |
1048 #endif | |
1049 | |
111 | 1050 /* Force minimum alignment to be able to use the least significant bits |
1051 for distinguishing descriptor addresses from code addresses. */ | |
1052 #define FUNCTION_ALIGNMENT(ALIGN) \ | |
1053 (lang_hooks.custom_function_descriptors \ | |
1054 && targetm.calls.custom_function_descriptors > 0 \ | |
1055 ? MAX ((ALIGN), \ | |
1056 2 * targetm.calls.custom_function_descriptors * BITS_PER_UNIT)\ | |
1057 : (ALIGN)) | |
1058 | |
0 | 1059 /* Assume that trampolines need function alignment. */ |
1060 #ifndef TRAMPOLINE_ALIGNMENT | |
111 | 1061 #define TRAMPOLINE_ALIGNMENT FUNCTION_ALIGNMENT (FUNCTION_BOUNDARY) |
0 | 1062 #endif |
1063 | |
1064 /* Register mappings for target machines without register windows. */ | |
1065 #ifndef INCOMING_REGNO | |
1066 #define INCOMING_REGNO(N) (N) | |
1067 #endif | |
1068 | |
1069 #ifndef OUTGOING_REGNO | |
1070 #define OUTGOING_REGNO(N) (N) | |
1071 #endif | |
1072 | |
1073 #ifndef SHIFT_COUNT_TRUNCATED | |
1074 #define SHIFT_COUNT_TRUNCATED 0 | |
1075 #endif | |
1076 | |
1077 #ifndef LEGITIMATE_PIC_OPERAND_P | |
1078 #define LEGITIMATE_PIC_OPERAND_P(X) 1 | |
1079 #endif | |
1080 | |
1081 #ifndef TARGET_MEM_CONSTRAINT | |
1082 #define TARGET_MEM_CONSTRAINT 'm' | |
1083 #endif | |
1084 | |
1085 #ifndef REVERSIBLE_CC_MODE | |
1086 #define REVERSIBLE_CC_MODE(MODE) 0 | |
1087 #endif | |
1088 | |
1089 /* Biggest alignment supported by the object file format of this machine. */ | |
1090 #ifndef MAX_OFILE_ALIGNMENT | |
1091 #define MAX_OFILE_ALIGNMENT BIGGEST_ALIGNMENT | |
1092 #endif | |
1093 | |
1094 #ifndef FRAME_GROWS_DOWNWARD | |
1095 #define FRAME_GROWS_DOWNWARD 0 | |
1096 #endif | |
1097 | |
111 | 1098 #ifndef RETURN_ADDR_IN_PREVIOUS_FRAME |
1099 #define RETURN_ADDR_IN_PREVIOUS_FRAME 0 | |
1100 #endif | |
1101 | |
0 | 1102 /* On most machines, the CFA coincides with the first incoming parm. */ |
1103 #ifndef ARG_POINTER_CFA_OFFSET | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
1104 #define ARG_POINTER_CFA_OFFSET(FNDECL) \ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
1105 (FIRST_PARM_OFFSET (FNDECL) + crtl->args.pretend_args_size) |
0 | 1106 #endif |
1107 | |
1108 /* On most machines, we use the CFA as DW_AT_frame_base. */ | |
1109 #ifndef CFA_FRAME_BASE_OFFSET | |
1110 #define CFA_FRAME_BASE_OFFSET(FNDECL) 0 | |
1111 #endif | |
1112 | |
1113 /* The offset from the incoming value of %sp to the top of the stack frame | |
1114 for the current function. */ | |
1115 #ifndef INCOMING_FRAME_SP_OFFSET | |
1116 #define INCOMING_FRAME_SP_OFFSET 0 | |
1117 #endif | |
1118 | |
1119 #ifndef HARD_REGNO_NREGS_HAS_PADDING | |
1120 #define HARD_REGNO_NREGS_HAS_PADDING(REGNO, MODE) 0 | |
1121 #define HARD_REGNO_NREGS_WITH_PADDING(REGNO, MODE) -1 | |
1122 #endif | |
1123 | |
1124 #ifndef OUTGOING_REG_PARM_STACK_SPACE | |
1125 #define OUTGOING_REG_PARM_STACK_SPACE(FNTYPE) 0 | |
1126 #endif | |
1127 | |
1128 /* MAX_STACK_ALIGNMENT is the maximum stack alignment guaranteed by | |
1129 the backend. MAX_SUPPORTED_STACK_ALIGNMENT is the maximum best | |
1130 effort stack alignment supported by the backend. If the backend | |
1131 supports stack alignment, MAX_SUPPORTED_STACK_ALIGNMENT and | |
1132 MAX_STACK_ALIGNMENT are the same. Otherwise, the incoming stack | |
1133 boundary will limit the maximum guaranteed stack alignment. */ | |
1134 #ifdef MAX_STACK_ALIGNMENT | |
1135 #define MAX_SUPPORTED_STACK_ALIGNMENT MAX_STACK_ALIGNMENT | |
1136 #else | |
1137 #define MAX_STACK_ALIGNMENT STACK_BOUNDARY | |
1138 #define MAX_SUPPORTED_STACK_ALIGNMENT PREFERRED_STACK_BOUNDARY | |
1139 #endif | |
1140 | |
1141 #define SUPPORTS_STACK_ALIGNMENT (MAX_STACK_ALIGNMENT > STACK_BOUNDARY) | |
1142 | |
1143 #ifndef LOCAL_ALIGNMENT | |
1144 #define LOCAL_ALIGNMENT(TYPE, ALIGNMENT) ALIGNMENT | |
1145 #endif | |
1146 | |
1147 #ifndef STACK_SLOT_ALIGNMENT | |
1148 #define STACK_SLOT_ALIGNMENT(TYPE,MODE,ALIGN) \ | |
1149 ((TYPE) ? LOCAL_ALIGNMENT ((TYPE), (ALIGN)) : (ALIGN)) | |
1150 #endif | |
1151 | |
1152 #ifndef LOCAL_DECL_ALIGNMENT | |
1153 #define LOCAL_DECL_ALIGNMENT(DECL) \ | |
1154 LOCAL_ALIGNMENT (TREE_TYPE (DECL), DECL_ALIGN (DECL)) | |
1155 #endif | |
1156 | |
19
58ad6c70ea60
update gcc from 4.4.0 to 4.4.1.
kent@firefly.cr.ie.u-ryukyu.ac.jp
parents:
0
diff
changeset
|
1157 #ifndef MINIMUM_ALIGNMENT |
58ad6c70ea60
update gcc from 4.4.0 to 4.4.1.
kent@firefly.cr.ie.u-ryukyu.ac.jp
parents:
0
diff
changeset
|
1158 #define MINIMUM_ALIGNMENT(EXP,MODE,ALIGN) (ALIGN) |
58ad6c70ea60
update gcc from 4.4.0 to 4.4.1.
kent@firefly.cr.ie.u-ryukyu.ac.jp
parents:
0
diff
changeset
|
1159 #endif |
58ad6c70ea60
update gcc from 4.4.0 to 4.4.1.
kent@firefly.cr.ie.u-ryukyu.ac.jp
parents:
0
diff
changeset
|
1160 |
0 | 1161 /* Alignment value for attribute ((aligned)). */ |
1162 #ifndef ATTRIBUTE_ALIGNED_VALUE | |
1163 #define ATTRIBUTE_ALIGNED_VALUE BIGGEST_ALIGNMENT | |
1164 #endif | |
1165 | |
55
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
1166 /* For most ports anything that evaluates to a constant symbolic |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
1167 or integer value is acceptable as a constant address. */ |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
1168 #ifndef CONSTANT_ADDRESS_P |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
1169 #define CONSTANT_ADDRESS_P(X) (CONSTANT_P (X) && GET_CODE (X) != CONST_DOUBLE) |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
1170 #endif |
77e2b8dfacca
update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents:
19
diff
changeset
|
1171 |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1172 #ifndef MAX_FIXED_MODE_SIZE |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1173 #define MAX_FIXED_MODE_SIZE GET_MODE_BITSIZE (DImode) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1174 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1175 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1176 /* Nonzero if structures and unions should be returned in memory. |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1177 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1178 This should only be defined if compatibility with another compiler or |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1179 with an ABI is needed, because it results in slower code. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1180 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1181 #ifndef DEFAULT_PCC_STRUCT_RETURN |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1182 #define DEFAULT_PCC_STRUCT_RETURN 1 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1183 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1184 |
111 | 1185 #ifndef PCC_BITFIELD_TYPE_MATTERS |
1186 #define PCC_BITFIELD_TYPE_MATTERS false | |
1187 #endif | |
1188 | |
1189 #ifndef INSN_SETS_ARE_DELAYED | |
1190 #define INSN_SETS_ARE_DELAYED(INSN) false | |
1191 #endif | |
1192 | |
1193 #ifndef INSN_REFERENCES_ARE_DELAYED | |
1194 #define INSN_REFERENCES_ARE_DELAYED(INSN) false | |
1195 #endif | |
1196 | |
1197 #ifndef NO_FUNCTION_CSE | |
1198 #define NO_FUNCTION_CSE false | |
1199 #endif | |
1200 | |
1201 #ifndef HARD_REGNO_RENAME_OK | |
1202 #define HARD_REGNO_RENAME_OK(FROM, TO) true | |
1203 #endif | |
1204 | |
1205 #ifndef EPILOGUE_USES | |
1206 #define EPILOGUE_USES(REG) false | |
1207 #endif | |
1208 | |
1209 #ifndef ARGS_GROW_DOWNWARD | |
1210 #define ARGS_GROW_DOWNWARD 0 | |
1211 #endif | |
1212 | |
1213 #ifndef STACK_GROWS_DOWNWARD | |
1214 #define STACK_GROWS_DOWNWARD 0 | |
1215 #endif | |
1216 | |
1217 #ifndef STACK_PUSH_CODE | |
1218 #if STACK_GROWS_DOWNWARD | |
1219 #define STACK_PUSH_CODE PRE_DEC | |
1220 #else | |
1221 #define STACK_PUSH_CODE PRE_INC | |
1222 #endif | |
1223 #endif | |
1224 | |
1225 /* Default value for flag_pie when flag_pie is initialized to -1: | |
1226 --enable-default-pie: Default flag_pie to -fPIE. | |
1227 --disable-default-pie: Default flag_pie to 0. | |
1228 */ | |
1229 #ifdef ENABLE_DEFAULT_PIE | |
1230 # ifndef DEFAULT_FLAG_PIE | |
1231 # define DEFAULT_FLAG_PIE 2 | |
1232 # endif | |
1233 #else | |
1234 # define DEFAULT_FLAG_PIE 0 | |
1235 #endif | |
1236 | |
1237 #ifndef SWITCHABLE_TARGET | |
1238 #define SWITCHABLE_TARGET 0 | |
1239 #endif | |
1240 | |
1241 /* If the target supports integers that are wider than two | |
1242 HOST_WIDE_INTs on the host compiler, then the target should define | |
1243 TARGET_SUPPORTS_WIDE_INT and make the appropriate fixups. | |
1244 Otherwise the compiler really is not robust. */ | |
1245 #ifndef TARGET_SUPPORTS_WIDE_INT | |
1246 #define TARGET_SUPPORTS_WIDE_INT 0 | |
1247 #endif | |
1248 | |
1249 #ifndef SHORT_IMMEDIATES_SIGN_EXTEND | |
1250 #define SHORT_IMMEDIATES_SIGN_EXTEND 0 | |
1251 #endif | |
1252 | |
1253 #ifndef WORD_REGISTER_OPERATIONS | |
1254 #define WORD_REGISTER_OPERATIONS 0 | |
1255 #endif | |
1256 | |
1257 #ifndef LOAD_EXTEND_OP | |
1258 #define LOAD_EXTEND_OP(M) UNKNOWN | |
1259 #endif | |
1260 | |
1261 #ifndef INITIAL_FRAME_ADDRESS_RTX | |
1262 #define INITIAL_FRAME_ADDRESS_RTX NULL | |
1263 #endif | |
1264 | |
1265 #ifndef SETUP_FRAME_ADDRESSES | |
1266 #define SETUP_FRAME_ADDRESSES() do { } while (0) | |
1267 #endif | |
1268 | |
1269 #ifndef DYNAMIC_CHAIN_ADDRESS | |
1270 #define DYNAMIC_CHAIN_ADDRESS(x) (x) | |
1271 #endif | |
1272 | |
1273 #ifndef FRAME_ADDR_RTX | |
1274 #define FRAME_ADDR_RTX(x) (x) | |
1275 #endif | |
1276 | |
1277 #ifndef REVERSE_CONDITION | |
1278 #define REVERSE_CONDITION(code, mode) reverse_condition (code) | |
1279 #endif | |
1280 | |
1281 #ifndef TARGET_PECOFF | |
1282 #define TARGET_PECOFF 0 | |
1283 #endif | |
1284 | |
131 | 1285 #ifndef TARGET_COFF |
1286 #define TARGET_COFF 0 | |
1287 #endif | |
1288 | |
111 | 1289 #ifndef EH_RETURN_HANDLER_RTX |
1290 #define EH_RETURN_HANDLER_RTX NULL | |
1291 #endif | |
1292 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1293 #ifdef GCC_INSN_FLAGS_H |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1294 /* Dependent default target macro definitions |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1295 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1296 This section of defaults.h defines target macros that depend on generated |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1297 headers. This is a bit awkward: We want to put all default definitions |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1298 for target macros in defaults.h, but some of the defaults depend on the |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1299 HAVE_* flags defines of insn-flags.h. But insn-flags.h is not always |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1300 included by files that do include defaults.h. |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1301 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1302 Fortunately, the default macro definitions that depend on the HAVE_* |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1303 macros are also the ones that will only be used inside GCC itself, i.e. |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1304 not in the gen* programs or in target objects like libgcc. |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1305 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1306 Obviously, it would be best to keep this section of defaults.h as small |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1307 as possible, by converting the macros defined below to target hooks or |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1308 functions. |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1309 */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1310 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1311 /* The default branch cost is 1. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1312 #ifndef BRANCH_COST |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1313 #define BRANCH_COST(speed_p, predictable_p) 1 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1314 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1315 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1316 /* If a memory-to-memory move would take MOVE_RATIO or more simple |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1317 move-instruction sequences, we will do a movmem or libcall instead. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1318 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1319 #ifndef MOVE_RATIO |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1320 #if defined (HAVE_movmemqi) || defined (HAVE_movmemhi) || defined (HAVE_movmemsi) || defined (HAVE_movmemdi) || defined (HAVE_movmemti) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1321 #define MOVE_RATIO(speed) 2 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1322 #else |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1323 /* If we are optimizing for space (-Os), cut down the default move ratio. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1324 #define MOVE_RATIO(speed) ((speed) ? 15 : 3) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1325 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1326 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1327 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1328 /* If a clear memory operation would take CLEAR_RATIO or more simple |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1329 move-instruction sequences, we will do a setmem or libcall instead. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1330 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1331 #ifndef CLEAR_RATIO |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1332 #if defined (HAVE_setmemqi) || defined (HAVE_setmemhi) || defined (HAVE_setmemsi) || defined (HAVE_setmemdi) || defined (HAVE_setmemti) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1333 #define CLEAR_RATIO(speed) 2 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1334 #else |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1335 /* If we are optimizing for space, cut down the default clear ratio. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1336 #define CLEAR_RATIO(speed) ((speed) ? 15 :3) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1337 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1338 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1339 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1340 /* If a memory set (to value other than zero) operation would take |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1341 SET_RATIO or more simple move-instruction sequences, we will do a movmem |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1342 or libcall instead. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1343 #ifndef SET_RATIO |
111 | 1344 #define SET_RATIO(speed) MOVE_RATIO (speed) |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1345 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1346 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1347 /* Supply a default definition of STACK_SAVEAREA_MODE for emit_stack_save. |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1348 Normally move_insn, so Pmode stack pointer. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1349 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1350 #ifndef STACK_SAVEAREA_MODE |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1351 #define STACK_SAVEAREA_MODE(LEVEL) Pmode |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1352 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1353 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1354 /* Supply a default definition of STACK_SIZE_MODE for |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1355 allocate_dynamic_stack_space. Normally PLUS/MINUS, so word_mode. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1356 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1357 #ifndef STACK_SIZE_MODE |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1358 #define STACK_SIZE_MODE word_mode |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1359 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1360 |
111 | 1361 /* Default value for flag_stack_protect when flag_stack_protect is initialized to -1: |
1362 --enable-default-ssp: Default flag_stack_protect to -fstack-protector-strong. | |
1363 --disable-default-ssp: Default flag_stack_protect to 0. | |
1364 */ | |
1365 #ifdef ENABLE_DEFAULT_SSP | |
1366 # ifndef DEFAULT_FLAG_SSP | |
1367 # define DEFAULT_FLAG_SSP 3 | |
1368 # endif | |
1369 #else | |
1370 # define DEFAULT_FLAG_SSP 0 | |
1371 #endif | |
1372 | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1373 /* Provide default values for the macros controlling stack checking. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1374 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1375 /* The default is neither full builtin stack checking... */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1376 #ifndef STACK_CHECK_BUILTIN |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1377 #define STACK_CHECK_BUILTIN 0 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1378 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1379 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1380 /* ...nor static builtin stack checking. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1381 #ifndef STACK_CHECK_STATIC_BUILTIN |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1382 #define STACK_CHECK_STATIC_BUILTIN 0 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1383 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1384 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1385 /* The default interval is one page (4096 bytes). */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1386 #ifndef STACK_CHECK_PROBE_INTERVAL_EXP |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1387 #define STACK_CHECK_PROBE_INTERVAL_EXP 12 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1388 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1389 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1390 /* The default is not to move the stack pointer. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1391 #ifndef STACK_CHECK_MOVING_SP |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1392 #define STACK_CHECK_MOVING_SP 0 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1393 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1394 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1395 /* This is a kludge to try to capture the discrepancy between the old |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1396 mechanism (generic stack checking) and the new mechanism (static |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1397 builtin stack checking). STACK_CHECK_PROTECT needs to be bumped |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1398 for the latter because part of the protection area is effectively |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1399 included in STACK_CHECK_MAX_FRAME_SIZE for the former. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1400 #ifdef STACK_CHECK_PROTECT |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1401 #define STACK_OLD_CHECK_PROTECT STACK_CHECK_PROTECT |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1402 #else |
111 | 1403 #define STACK_OLD_CHECK_PROTECT \ |
1404 (!global_options.x_flag_exceptions \ | |
1405 ? 75 * UNITS_PER_WORD \ | |
1406 : targetm_common.except_unwind_info (&global_options) == UI_SJLJ \ | |
1407 ? 4 * 1024 \ | |
1408 : 8 * 1024) | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1409 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1410 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1411 /* Minimum amount of stack required to recover from an anticipated stack |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1412 overflow detection. The default value conveys an estimate of the amount |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1413 of stack required to propagate an exception. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1414 #ifndef STACK_CHECK_PROTECT |
111 | 1415 #define STACK_CHECK_PROTECT \ |
1416 (!global_options.x_flag_exceptions \ | |
1417 ? 4 * 1024 \ | |
1418 : targetm_common.except_unwind_info (&global_options) == UI_SJLJ \ | |
1419 ? 8 * 1024 \ | |
1420 : 12 * 1024) | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1421 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1422 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1423 /* Make the maximum frame size be the largest we can and still only need |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1424 one probe per function. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1425 #ifndef STACK_CHECK_MAX_FRAME_SIZE |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1426 #define STACK_CHECK_MAX_FRAME_SIZE \ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1427 ((1 << STACK_CHECK_PROBE_INTERVAL_EXP) - UNITS_PER_WORD) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1428 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1429 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1430 /* This is arbitrary, but should be large enough everywhere. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1431 #ifndef STACK_CHECK_FIXED_FRAME_SIZE |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1432 #define STACK_CHECK_FIXED_FRAME_SIZE (4 * UNITS_PER_WORD) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1433 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1434 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1435 /* Provide a reasonable default for the maximum size of an object to |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1436 allocate in the fixed frame. We may need to be able to make this |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1437 controllable by the user at some point. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1438 #ifndef STACK_CHECK_MAX_VAR_SIZE |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1439 #define STACK_CHECK_MAX_VAR_SIZE (STACK_CHECK_MAX_FRAME_SIZE / 100) |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1440 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1441 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1442 /* By default, the C++ compiler will use function addresses in the |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1443 vtable entries. Setting this nonzero tells the compiler to use |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1444 function descriptors instead. The value of this macro says how |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1445 many words wide the descriptor is (normally 2). It is assumed |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1446 that the address of a function descriptor may be treated as a |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1447 pointer to a function. */ |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1448 #ifndef TARGET_VTABLE_USES_DESCRIPTORS |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1449 #define TARGET_VTABLE_USES_DESCRIPTORS 0 |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1450 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1451 |
111 | 1452 #endif /* GCC_INSN_FLAGS_H */ |
1453 | |
1454 #ifndef DWARF_GNAT_ENCODINGS_DEFAULT | |
1455 #define DWARF_GNAT_ENCODINGS_DEFAULT DWARF_GNAT_ENCODINGS_GDB | |
67
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1456 #endif |
f6334be47118
update gcc from gcc-4.6-20100522 to gcc-4.6-20110318
nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
63
diff
changeset
|
1457 |
0 | 1458 #endif /* ! GCC_DEFAULTS_H */ |