aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorDouglas B Rupp <rupp@gnat.com>2002-04-12 15:47:45 -0400
committerRichard Kenner <kenner@gcc.gnu.org>2002-04-12 15:47:45 -0400
commit1329e60058313cd746059791d96a9d6be78f0be2 (patch)
treea905f7a78f91acab78a89554e6ab6dee47475959 /gcc/config
parentb963aad8ed40cbb3742ef333617e6c727353f64e (diff)
downloadgcc-1329e60058313cd746059791d96a9d6be78f0be2.zip
gcc-1329e60058313cd746059791d96a9d6be78f0be2.tar.gz
gcc-1329e60058313cd746059791d96a9d6be78f0be2.tar.bz2
i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define.
* config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Define. (TARGET_ASM_NAMED_SECTION, RETURN_IN_MEMORY) Define. (DEFAULT_PCC_STRUCT_RETURN): Define as 0. * config/i386/t-interix (USER_H): Remove. From-SVN: r52237
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/i386/i386-interix.h11
-rw-r--r--gcc/config/i386/t-interix2
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/config/i386/i386-interix.h b/gcc/config/i386/i386-interix.h
index a97646c..2b703f3 100644
--- a/gcc/config/i386/i386-interix.h
+++ b/gcc/config/i386/i386-interix.h
@@ -232,6 +232,7 @@ Boston, MA 02111-1307, USA. */
#undef LD_INIT_SWITCH
#undef LD_FINI_SWITCH
+#define EH_FRAME_IN_DATA_SECTION
/* Note that there appears to be two different ways to support const
sections at the moment. You can either #define the symbol
@@ -405,10 +406,10 @@ extern void i386_pe_unique_section ();
#define UNIQUE_SECTION(DECL,RELOC) i386_pe_unique_section (DECL, RELOC)
#define SUPPORTS_ONE_ONLY 1
+#endif /* 0 */
/* Switch into a generic section. */
#define TARGET_ASM_NAMED_SECTION default_pe_asm_named_section
-#endif /* 0 */
/* DWARF2 Unwinding doesn't work with exception handling yet. */
#define DWARF2_UNWIND_INFO 0
@@ -416,3 +417,11 @@ extern void i386_pe_unique_section ();
/* Don't assume anything about the header files. */
#define NO_IMPLICIT_EXTERN_C
+/* MSVC returns structs of up to 8 bytes via registers. */
+
+#define DEFAULT_PCC_STRUCT_RETURN 0
+
+#undef RETURN_IN_MEMORY
+#define RETURN_IN_MEMORY(TYPE) \
+ (TYPE_MODE (TYPE) == BLKmode || \
+ (AGGREGATE_TYPE_P (TYPE) && int_size_in_bytes(TYPE) > 8 ))
diff --git a/gcc/config/i386/t-interix b/gcc/config/i386/t-interix
index 3f78f78..adcf593 100644
--- a/gcc/config/i386/t-interix
+++ b/gcc/config/i386/t-interix
@@ -4,5 +4,3 @@ LIB1ASMFUNCS = _chkstk
interix.o: $(srcdir)/config/i386/interix.c
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $(srcdir)/config/i386/interix.c
-# System headers will track gcc's needs.
-USER_H=