aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/config/i386/cygwin.h18
-rw-r--r--gcc/config/i386/i386-protos.h2
-rw-r--r--gcc/config/i386/i386.c13
-rw-r--r--gcc/config/i386/winnt.c3
5 files changed, 21 insertions, 25 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6b30fd3..c4e3f6f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,13 @@
+2001-07-03 Neil Booth <neil@daikokuya.demon.co.uk>
+
+config:
+ * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
+ VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
+ * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
+ i386_pe_valid_type_attribute_p): Add.
+ * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
+ * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
+
Mon Jul 2 21:52:19 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* explow.c (plus_constant_wide, case LO_SUM): New case.
diff --git a/gcc/config/i386/cygwin.h b/gcc/config/i386/cygwin.h
index a1c7c33..6e76f1c 100644
--- a/gcc/config/i386/cygwin.h
+++ b/gcc/config/i386/cygwin.h
@@ -182,27 +182,9 @@ Boston, MA 02111-1307, USA. */
/* Enable parsing of #pragma pack(push,<n>) and #pragma pack(pop). */
#define HANDLE_PRAGMA_PACK_PUSH_POP 1
-/* A C expression whose value is nonzero if IDENTIFIER with arguments ARGS
- is a valid machine specific attribute for DECL.
- The attributes in ATTRIBUTES have previously been assigned to DECL. */
-
union tree_node;
#define TREE union tree_node *
-#undef VALID_MACHINE_DECL_ATTRIBUTE
-#define VALID_MACHINE_DECL_ATTRIBUTE(DECL, ATTRIBUTES, IDENTIFIER, ARGS) \
- i386_pe_valid_decl_attribute_p (DECL, ATTRIBUTES, IDENTIFIER, ARGS)
-extern int i386_pe_valid_decl_attribute_p PARAMS ((TREE, TREE, TREE, TREE));
-
-/* A C expression whose value is nonzero if IDENTIFIER with arguments ARGS
- is a valid machine specific attribute for TYPE.
- The attributes in ATTRIBUTES have previously been assigned to TYPE. */
-
-#undef VALID_MACHINE_TYPE_ATTRIBUTE
-#define VALID_MACHINE_TYPE_ATTRIBUTE(TYPE, ATTRIBUTES, IDENTIFIER, ARGS) \
- i386_pe_valid_type_attribute_p (TYPE, ATTRIBUTES, IDENTIFIER, ARGS)
-extern int i386_pe_valid_type_attribute_p PARAMS ((TREE, TREE, TREE, TREE));
-
/* Used to implement dllexport overriding dllimport semantics. It's also used
to handle vtables - the first pass won't do anything because
DECL_CONTEXT (DECL) will be 0 so i386_pe_dll{ex,im}port_p will return 0.
diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
index dfb2bcc..78fcf3b 100644
--- a/gcc/config/i386/i386-protos.h
+++ b/gcc/config/i386/i386-protos.h
@@ -175,4 +175,6 @@ extern int ix86_data_alignment PARAMS ((tree, int));
extern int ix86_local_alignment PARAMS ((tree, int));
extern int ix86_constant_alignment PARAMS ((tree, int));
extern int ix86_valid_type_attribute_p PARAMS ((tree, tree, tree, tree));
+extern int i386_pe_valid_decl_attribute_p PARAMS ((tree, tree, tree, tree));
+extern int i386_pe_valid_type_attribute_p PARAMS ((tree, tree, tree, tree));
#endif
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 78bf5ed..cdd35b2 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -610,14 +610,17 @@ static void ix86_compute_frame_layout PARAMS ((struct ix86_frame *));
static int ix86_comp_type_attributes PARAMS ((tree, tree));
/* Initialize the GCC target structure. */
+#undef TARGET_VALID_TYPE_ATTRIBUTE
#ifdef TARGET_DLLIMPORT_DECL_ATTRIBUTES
-#undef TARGET_MERGE_DECL_ATTRIBUTES
-#define TARGET_MERGE_DECL_ATTRIBUTES merge_dllimport_decl_attributes
+# define TARGET_VALID_TYPE_ATTRIBUTE i386_pe_valid_type_attribute_p
+# undef TARGET_VALID_DECL_ATTRIBUTE
+# define TARGET_VALID_DECL_ATTRIBUTE i386_pe_valid_decl_attribute_p
+# undef TARGET_MERGE_DECL_ATTRIBUTES
+# define TARGET_MERGE_DECL_ATTRIBUTES merge_dllimport_decl_attributes
+#else
+# define TARGET_VALID_TYPE_ATTRIBUTE ix86_valid_type_attribute_p
#endif
-#undef TARGET_VALID_TYPE_ATTRIBUTE
-#define TARGET_VALID_TYPE_ATTRIBUTE ix86_valid_type_attribute_p
-
#undef TARGET_COMP_TYPE_ATTRIBUTES
#define TARGET_COMP_TYPE_ATTRIBUTES ix86_comp_type_attributes
diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c
index 676c4bd..2d85b66 100644
--- a/gcc/config/i386/winnt.c
+++ b/gcc/config/i386/winnt.c
@@ -69,7 +69,7 @@ i386_pe_valid_decl_attribute_p (decl, attributes, attr, args)
return TREE_CODE (decl) == VAR_DECL;
}
- return ix86_valid_decl_attribute_p (decl, attributes, attr, args);
+ return 0;
}
/* Return nonzero if ATTR is a valid attribute for TYPE.
@@ -94,7 +94,6 @@ i386_pe_valid_type_attribute_p (type, attributes, attr, args)
return ix86_valid_type_attribute_p (type, attributes, attr, args);
}
-
/* Return the type that we should use to determine if DECL is
imported or exported. */