comparison gcc/config/darwin.h @ 55:77e2b8dfacca gcc-4.4.5

update it from 4.4.3 to 4.5.0
author ryoma <e075725@ie.u-ryukyu.ac.jp>
date Fri, 12 Feb 2010 23:39:51 +0900
parents a06113de4d67
children b7f97abdc517
comparison
equal deleted inserted replaced
52:c156f1bd5cd9 55:77e2b8dfacca
73 73
74 #undef WCHAR_TYPE 74 #undef WCHAR_TYPE
75 #define WCHAR_TYPE "int" 75 #define WCHAR_TYPE "int"
76 #undef WCHAR_TYPE_SIZE 76 #undef WCHAR_TYPE_SIZE
77 #define WCHAR_TYPE_SIZE 32 77 #define WCHAR_TYPE_SIZE 32
78
79 #define INT8_TYPE "signed char"
80 #define INT16_TYPE "short int"
81 #define INT32_TYPE "int"
82 #define INT64_TYPE "long long int"
83 #define UINT8_TYPE "unsigned char"
84 #define UINT16_TYPE "short unsigned int"
85 #define UINT32_TYPE "unsigned int"
86 #define UINT64_TYPE "long long unsigned int"
87
88 #define INT_LEAST8_TYPE "signed char"
89 #define INT_LEAST16_TYPE "short int"
90 #define INT_LEAST32_TYPE "int"
91 #define INT_LEAST64_TYPE "long long int"
92 #define UINT_LEAST8_TYPE "unsigned char"
93 #define UINT_LEAST16_TYPE "short unsigned int"
94 #define UINT_LEAST32_TYPE "unsigned int"
95 #define UINT_LEAST64_TYPE "long long unsigned int"
96
97 #define INT_FAST8_TYPE "signed char"
98 #define INT_FAST16_TYPE "short int"
99 #define INT_FAST32_TYPE "int"
100 #define INT_FAST64_TYPE "long long int"
101 #define UINT_FAST8_TYPE "unsigned char"
102 #define UINT_FAST16_TYPE "short unsigned int"
103 #define UINT_FAST32_TYPE "unsigned int"
104 #define UINT_FAST64_TYPE "long long unsigned int"
105
106 #define INTPTR_TYPE "long int"
107 #define UINTPTR_TYPE "long unsigned int"
108
109 #define SIG_ATOMIC_TYPE "int"
78 110
79 /* Default to using the NeXT-style runtime, since that's what is 111 /* Default to using the NeXT-style runtime, since that's what is
80 pre-installed on Darwin systems. */ 112 pre-installed on Darwin systems. */
81 113
82 #define NEXT_OBJC_RUNTIME 114 #define NEXT_OBJC_RUNTIME
238 %{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ 270 %{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
239 %(linker) %l %X %{d} %{s} %{t} %{Z} %{u*} \ 271 %(linker) %l %X %{d} %{s} %{t} %{Z} %{u*} \
240 %{A} %{e*} %{m} %{r} %{x} \ 272 %{A} %{e*} %{m} %{r} %{x} \
241 %{o*}%{!o:-o a.out} \ 273 %{o*}%{!o:-o a.out} \
242 %{!A:%{!nostdlib:%{!nostartfiles:%S}}} \ 274 %{!A:%{!nostdlib:%{!nostartfiles:%S}}} \
243 %{L*} %{fopenmp:%:include(libgomp.spec)%(link_gomp)} \ 275 %{L*} %(link_libgcc) %o %{fprofile-arcs|fprofile-generate|coverage:-lgcov} \
244 %(link_libgcc) %o %{fprofile-arcs|fprofile-generate|coverage:-lgcov} \ 276 %{fopenmp|ftree-parallelize-loops=*: \
245 %{!nostdlib:%{!nodefaultlibs:%(link_ssp) %G %L}} \ 277 %{static|static-libgcc|static-libstdc++|static-libgfortran: libgomp.a%s; : -lgomp } } \
278 %{!nostdlib:%{!nodefaultlibs: %(link_ssp) %G %L }} \
246 %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}\n\ 279 %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}\n\
247 %{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\ 280 %{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
248 %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm: \ 281 %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm: \
249 %{gdwarf-2:%{!gstabs*:%{!g0: dsymutil %{o*:%*}%{!o:a.out}}}}}}}}}}}}" 282 %{gdwarf-2:%{!gstabs*:%{!g0: dsymutil %{o*:%*}%{!o:a.out}}}}}}}}}}}}"
250 283
259 'Z' and 'no' prefixes). Note that options taking arguments may appear 292 'Z' and 'no' prefixes). Note that options taking arguments may appear
260 multiple times on a command line with different arguments each time, 293 multiple times on a command line with different arguments each time,
261 so put a * after their names so all of them get passed. */ 294 so put a * after their names so all of them get passed. */
262 #define LINK_SPEC \ 295 #define LINK_SPEC \
263 "%{static}%{!static:-dynamic} \ 296 "%{static}%{!static:-dynamic} \
264 %{fgnu-runtime:%:replace-outfile(-lobjc -lobjc-gnu)}\ 297 %{fgnu-runtime: %{static|static-libgcc: \
265 %{static|static-libgfortran:%:replace-outfile(-lgfortran libgfortran.a%s)}\ 298 %:replace-outfile(-lobjc libobjc-gnu.a%s); \
299 :%:replace-outfile(-lobjc -lobjc-gnu ) } }\
300 %{static|static-libgcc|static-libgfortran:%:replace-outfile(-lgfortran libgfortran.a%s)}\
301 %{static|static-libgcc|static-libstdc++|static-libgfortran:%:replace-outfile(-lgomp libgomp.a%s)}\
302 %{static|static-libgcc|static-libstdc++:%:replace-outfile(-lstdc++ libstdc++.a%s)}\
266 %{!Zdynamiclib: \ 303 %{!Zdynamiclib: \
267 %{Zforce_cpusubtype_ALL:-arch %(darwin_arch) -force_cpusubtype_ALL} \ 304 %{Zforce_cpusubtype_ALL:-arch %(darwin_arch) -force_cpusubtype_ALL} \
268 %{!Zforce_cpusubtype_ALL:-arch %(darwin_subarch)} \ 305 %{!Zforce_cpusubtype_ALL:-arch %(darwin_subarch)} \
269 %{Zbundle:-bundle} \ 306 %{Zbundle:-bundle} \
270 %{Zbundle_loader*:-bundle_loader %*} \ 307 %{Zbundle_loader*:-bundle_loader %*} \
359 #define REAL_LIBGCC_SPEC \ 396 #define REAL_LIBGCC_SPEC \
360 "%{static-libgcc|static: -lgcc_eh -lgcc; \ 397 "%{static-libgcc|static: -lgcc_eh -lgcc; \
361 shared-libgcc|fexceptions|fgnu-runtime: \ 398 shared-libgcc|fexceptions|fgnu-runtime: \
362 %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \ 399 %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_s.10.4) \
363 %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_s.10.5) \ 400 %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_s.10.5) \
401 %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
402 %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
364 -lgcc; \ 403 -lgcc; \
365 :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \ 404 :%:version-compare(>< 10.3.9 10.5 mmacosx-version-min= -lgcc_s.10.4) \
366 %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_s.10.5) \ 405 %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_s.10.5) \
406 %:version-compare(!> 10.5 mmacosx-version-min= -lgcc_ext.10.4) \
407 %:version-compare(>= 10.5 mmacosx-version-min= -lgcc_ext.10.5) \
367 -lgcc}" 408 -lgcc}"
368 409
369 /* We specify crt0.o as -lcrt0.o so that ld will search the library path. 410 /* We specify crt0.o as -lcrt0.o so that ld will search the library path.
370 411
371 crt3.o provides __cxa_atexit on systems that don't have it. Since 412 crt3.o provides __cxa_atexit on systems that don't have it. Since
412 453
413 /* We still allow output of STABS. */ 454 /* We still allow output of STABS. */
414 455
415 #define DBX_DEBUGGING_INFO 1 456 #define DBX_DEBUGGING_INFO 1
416 457
417 #define DWARF2_DEBUGGING_INFO 458 #define DWARF2_DEBUGGING_INFO 1
418 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG 459 #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
419 460
420 #define DEBUG_FRAME_SECTION "__DWARF,__debug_frame,regular,debug" 461 #define DEBUG_FRAME_SECTION "__DWARF,__debug_frame,regular,debug"
421 #define DEBUG_INFO_SECTION "__DWARF,__debug_info,regular,debug" 462 #define DEBUG_INFO_SECTION "__DWARF,__debug_info,regular,debug"
422 #define DEBUG_ABBREV_SECTION "__DWARF,__debug_abbrev,regular,debug" 463 #define DEBUG_ABBREV_SECTION "__DWARF,__debug_abbrev,regular,debug"
609 if ((SIZE) == 0) \ 650 if ((SIZE) == 0) \
610 assemble_zeros (1); \ 651 assemble_zeros (1); \
611 } while (0) 652 } while (0)
612 653
613 /* Wrap new method names in quotes so the assembler doesn't gag. 654 /* Wrap new method names in quotes so the assembler doesn't gag.
614 Make Objective-C internal symbols local. */ 655 Make Objective-C internal symbols local and in doing this, we need
656 to accommodate the name mangling done by c++ on file scope locals. */
657
658
659 int darwin_label_is_anonymous_local_objc_name (const char *name);
615 660
616 #undef ASM_OUTPUT_LABELREF 661 #undef ASM_OUTPUT_LABELREF
617 #define ASM_OUTPUT_LABELREF(FILE,NAME) \ 662 #define ASM_OUTPUT_LABELREF(FILE,NAME) \
618 do { \ 663 do { \
619 const char *xname = (NAME); \ 664 const char *xname = (NAME); \
635 else \ 680 else \
636 fputs (&xname[1], FILE); \ 681 fputs (&xname[1], FILE); \
637 } \ 682 } \
638 else if (xname[0] == '+' || xname[0] == '-') \ 683 else if (xname[0] == '+' || xname[0] == '-') \
639 fprintf (FILE, "\"%s\"", xname); \ 684 fprintf (FILE, "\"%s\"", xname); \
640 else if (!strncmp (xname, "_OBJC_", 6)) \ 685 else if (darwin_label_is_anonymous_local_objc_name (xname)) \
641 fprintf (FILE, "L%s", xname); \ 686 fprintf (FILE, "L%s", xname); \
642 else if (!strncmp (xname, ".objc_class_name_", 17)) \ 687 else if (!strncmp (xname, ".objc_class_name_", 17)) \
643 fprintf (FILE, "%s", xname); \ 688 fprintf (FILE, "%s", xname); \
644 else if (xname[0] != '"' && name_needs_quotes (xname)) \ 689 else if (xname[0] != '"' && name_needs_quotes (xname)) \
645 fprintf (FILE, "\"%s\"", xname); \ 690 fprintf (FILE, "\"%s\"", xname); \
948 #else 993 #else
949 #define TARGET_ASM_OUTPUT_ANCHOR NULL 994 #define TARGET_ASM_OUTPUT_ANCHOR NULL
950 #endif 995 #endif
951 996
952 /* Attempt to turn on execute permission for the stack. This may be 997 /* Attempt to turn on execute permission for the stack. This may be
953 used by INITIALIZE_TRAMPOLINE of the target needs it (that is, 998 used by TARGET_TRAMPOLINE_INIT if the target needs it (that is,
954 if the target machine can change execute permissions on a page). 999 if the target machine can change execute permissions on a page).
955 1000
956 There is no way to query the execute permission of the stack, so 1001 There is no way to query the execute permission of the stack, so
957 we always issue the mprotect() call. 1002 we always issue the mprotect() call.
958 1003