diff options
author | dalej <dalej@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-09 03:53:24 +0000 |
---|---|---|
committer | dalej <dalej@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-09 03:53:24 +0000 |
commit | 0765d519a1f34f7490054a889d2cb2a25889fab1 (patch) | |
tree | a5c28f5c18c2981283531711c539f06375747337 /gcc/config | |
parent | 46fb328e973ce6245d85ccb62a52d0678ec33c34 (diff) | |
download | gcc-0765d519a1f34f7490054a889d2cb2a25889fab1.tar.gz |
2005-06-08 Dale Johannesen <dalej@apple.com>
* config/darwin.c (darwin_binds_local_p): New.
* config/darwin-protos.h (darwin_binds_local_p): Declare it.
* config/i386/i386.c (TARGET_BINDS_LOCAL_P): Use it for TARGET_MACHO.
* config/rs6000/rs6000.c (rs6000_binds_local_p): Remove.
(TARGET_BINDS_LOCAL_P): Change it to darwin_binds_local_p.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100792 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/darwin-protos.h | 1 | ||||
-rw-r--r-- | gcc/config/darwin.c | 9 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 16 |
4 files changed, 16 insertions, 15 deletions
diff --git a/gcc/config/darwin-protos.h b/gcc/config/darwin-protos.h index 43ea4cd3363..9154e5608d2 100644 --- a/gcc/config/darwin-protos.h +++ b/gcc/config/darwin-protos.h @@ -134,3 +134,4 @@ extern void darwin_globalize_label (FILE *, const char *); extern void darwin_assemble_visibility (tree, int); extern void darwin_asm_output_dwarf_delta (FILE *, int, const char *, const char *); +extern bool darwin_binds_local_p (tree); diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index c82c77b0047..f71c612677e 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -1381,4 +1381,13 @@ darwin_file_end (void) fprintf (asm_out_file, "\t.subsections_via_symbols\n"); } +/* Cross-module name binding. Darwin does not support overriding + functions at dynamic-link time. */ + +bool +darwin_binds_local_p (tree decl) +{ + return default_binds_local_p_1 (decl, 0); +} + #include "gt-darwin.h" diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 80170f90de8..0ff50ec9f4b 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -1009,6 +1009,11 @@ static void init_ext_80387_constants (void); #undef TARGET_MS_BITFIELD_LAYOUT_P #define TARGET_MS_BITFIELD_LAYOUT_P ix86_ms_bitfield_layout_p +#if TARGET_MACHO +#undef TARGET_BINDS_LOCAL_P +#define TARGET_BINDS_LOCAL_P darwin_binds_local_p +#endif + #undef TARGET_ASM_OUTPUT_MI_THUNK #define TARGET_ASM_OUTPUT_MI_THUNK x86_output_mi_thunk #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 7bee8c0eb3c..8d80e7c3863 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -616,9 +616,6 @@ static unsigned int rs6000_xcoff_section_type_flags (tree, const char *, int); static void rs6000_xcoff_file_start (void); static void rs6000_xcoff_file_end (void); #endif -#if TARGET_MACHO -static bool rs6000_binds_local_p (tree); -#endif static int rs6000_variable_issue (FILE *, int, rtx, int); static bool rs6000_rtx_costs (rtx, int, int, int *); static int rs6000_adjust_cost (rtx, rtx, rtx, int); @@ -897,7 +894,7 @@ static const char alt_reg_names[][8] = #if TARGET_MACHO #undef TARGET_BINDS_LOCAL_P -#define TARGET_BINDS_LOCAL_P rs6000_binds_local_p +#define TARGET_BINDS_LOCAL_P darwin_binds_local_p #endif #undef TARGET_ASM_OUTPUT_MI_THUNK @@ -17522,17 +17519,6 @@ rs6000_xcoff_file_end (void) } #endif /* TARGET_XCOFF */ -#if TARGET_MACHO -/* Cross-module name binding. Darwin does not support overriding - functions at dynamic-link time. */ - -static bool -rs6000_binds_local_p (tree decl) -{ - return default_binds_local_p_1 (decl, 0); -} -#endif - /* Compute a (partial) cost for rtx X. Return true if the complete cost has been computed, and false if subexpressions should be scanned. In either case, *TOTAL contains the cost result. */ |