summaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authordalej <dalej@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-09 03:53:24 +0000
committerdalej <dalej@138bc75d-0d04-0410-961f-82ee72b054a4>2005-06-09 03:53:24 +0000
commit0765d519a1f34f7490054a889d2cb2a25889fab1 (patch)
treea5c28f5c18c2981283531711c539f06375747337 /gcc/config
parent46fb328e973ce6245d85ccb62a52d0678ec33c34 (diff)
downloadgcc-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.h1
-rw-r--r--gcc/config/darwin.c9
-rw-r--r--gcc/config/i386/i386.c5
-rw-r--r--gcc/config/rs6000/rs6000.c16
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. */