Mercurial > hg > CbC > CbC_gcc
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 |