+2006-04-28 Eric Christopher <echristo@apple.com>
+
+ * config/darwin-c.c (darwin_ms_struct): Move this
+ (darwin_set_default_type_attributes): and this...
+ * config/darwin.c: ... here.
+ * config/darwin.h (darwin_ms_struct): Declare.
+
2006-04-28 Andrew MacLeod <amacleod@redhat.com>
* tree-ssa-dom.c (propagate_rhs_into_lhs): Fix assert clause.
static bool using_frameworks = false;
-/* True if we're setting __attribute__ ((ms_struct)). */
-static bool darwin_ms_struct = false;
-
/* Maintain a small stack of alignments. This is similar to pragma
pack's stack, but simpler. */
warning (OPT_Wpragmas, "junk at end of '#pragma ms_struct'");
}
-/* Set the darwin specific attributes on TYPE. */
-void
-darwin_set_default_type_attributes (tree type)
-{
- if (darwin_ms_struct
- && TREE_CODE (type) == RECORD_TYPE)
- TYPE_ATTRIBUTES (type) = tree_cons (get_identifier ("ms_struct"),
- NULL_TREE,
- TYPE_ATTRIBUTES (type));
-}
-
static struct {
size_t len;
const char *name;
/* Section names. */
section * darwin_sections[NUM_DARWIN_SECTIONS];
+/* True if we're setting __attribute__ ((ms_struct)). */
+int darwin_ms_struct = false;
+
/* A get_unnamed_section callback used to switch to an ObjC section.
DIRECTIVE is as for output_section_asm_op. */
{
if (write_symbols == DWARF2_DEBUG)
{
- static const char * const debugnames[] =
+ static const char * const debugnames[] =
{
DEBUG_FRAME_SECTION,
DEBUG_INFO_SECTION,
int namelen;
switch_to_section (get_section (debugnames[i], SECTION_DEBUG, NULL));
-
+
gcc_assert (strncmp (debugnames[i], "__DWARF,", 8) == 0);
gcc_assert (strchr (debugnames[i] + 8, ','));
-
+
namelen = strchr (debugnames[i] + 8, ',') - (debugnames[i] + 8);
fprintf (asm_out_file, "Lsection%.*s:\n", namelen, debugnames[i] + 8);
}
{
char sname[64];
int namelen;
-
+
gcc_assert (base->common.flags & SECTION_NAMED);
gcc_assert (strncmp (base->named.name, "__DWARF,", 8) == 0);
gcc_assert (strchr (base->named.name + 8, ','));
SYMBOL_REF_BLOCK_OFFSET (symbol));
}
+/* Set the darwin specific attributes on TYPE. */
+void
+darwin_set_default_type_attributes (tree type)
+{
+ if (darwin_ms_struct
+ && TREE_CODE (type) == RECORD_TYPE)
+ TYPE_ATTRIBUTES (type) = tree_cons (get_identifier ("ms_struct"),
+ NULL_TREE,
+ TYPE_ATTRIBUTES (type));
+}
+
#include "gt-darwin.h"
#undef DEFAULT_PCC_STRUCT_RETURN
#define DEFAULT_PCC_STRUCT_RETURN 0
+/* True if pragma ms_struct is in effect. */
+extern GTY(()) int darwin_ms_struct;
+
/* This table intercepts weirdo options whose names would interfere
with normal driver conventions, and either translates them into
standardly-named options, or adds a 'Z' so that they can get to