aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/rs6000/linux.h
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2001-12-03 00:49:41 +0000
committerZack Weinberg <zack@gcc.gnu.org>2001-12-03 00:49:41 +0000
commit6fa3f289e4fbf8c0cd64e59bb840116f3d8eb72e (patch)
treea6b5eacfcbbd55df2170596e9295d550b3485a70 /gcc/config/rs6000/linux.h
parent50b30e0bf36e4a77dd92a2f47735e7af20c9bf33 (diff)
downloadgcc-6fa3f289e4fbf8c0cd64e59bb840116f3d8eb72e.zip
gcc-6fa3f289e4fbf8c0cd64e59bb840116f3d8eb72e.tar.gz
gcc-6fa3f289e4fbf8c0cd64e59bb840116f3d8eb72e.tar.bz2
rs6000.h (MASK_ALTIVEC_ABI, [...]): Delete.
* config/rs6000/rs6000.h (MASK_ALTIVEC_ABI, MASK_LONG_DOUBLE_128): Delete. (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET, TARGET_AIX_STRUCT_RET): New flags. (TARGET_SWITCHES): Remove entries for -mlong-double-128 and -mlong-double-64. Add entries for -m(no-)aix-struct-return and -m(no-)svr4-struct-return. (TARGET_OPTIONS): Add entry for -mlong-double-. (rs6000_long_double_size_string, rs6000_long_double_type_size, rs6000_altivec_abi): Declare. (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI, LONG_DOUBLE_TYPE_SIZE): Change definitions to match. (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return structures of size <= 8 bytes in registers. (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'. * config/rs6000/rs6000.c (rs6000_long_double_size_string, rs6000_long_double_type_size, rs6000_altivec_abi): New globals. (rs6000_override_options): Set rs6000_long_double_type_size from rs6000_long_double_size_string, if nonzero. Set the MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if not already set. (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a target_flags bit. (rs6000_init_builtins): This hook now takes no arguments. * config/rs6000/netbsd.h, config/rs6000/linux.h: Define DRAFT_V4_STRUCT_RET to 1. From-SVN: r47541
Diffstat (limited to 'gcc/config/rs6000/linux.h')
-rw-r--r--gcc/config/rs6000/linux.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
index 428cfee..99c0453 100644
--- a/gcc/config/rs6000/linux.h
+++ b/gcc/config/rs6000/linux.h
@@ -69,6 +69,11 @@ Boston, MA 02111-1307, USA. */
#undef ASM_APP_OFF
#define ASM_APP_OFF "#NO_APP\n"
+/* For backward compatibility, we must continue to use the AIX
+ structure return convention. */
+#undef DRAFT_V4_STRUCT_RET
+#define DRAFT_V4_STRUCT_RET 1
+
/* Do code reading to identify a signal frame, and set the frame
state data appropriately. See unwind-dw2.c for the structs. */