+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.
+
2005-06-08 Aldy Hernandez <aldyh@redhat.com>
* config/rs6000/rs6000.h: Remove rs6000_long_double_size_string,
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);
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"
#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
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);
#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
}
#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. */