Commit b6685939 by Paul Brook Committed by Paul Brook

arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.

	* config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
	* config/arm/arm.h (TARGET_AAPCS_BASED): Define.
	(TARGET_DOUBLEWORD_ALIGN): Use it.
	(WCHAR_TYPE): Define.
	(WCHAR_SIZE_TYPE): Define.
	(SIZE_TYPE): Define.

From-SVN: r81665
parent 10f4ab75
2004-05-10 Paul Brook <paul@codesourcery.com>
* config/arm/arm.c (arm_promote_prototypes): Use TARGET_AAPCS_BASED.
* config/arm/arm.h (TARGET_AAPCS_BASED): Define.
(TARGET_DOUBLEWORD_ALIGN): Use it.
(WCHAR_TYPE): Define.
(WCHAR_SIZE_TYPE): Define.
(SIZE_TYPE): Define.
2004-05-10 Alan Modra <amodra@bigpond.net.au>
* config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
......
......@@ -14550,6 +14550,6 @@ arm_no_early_mul_dep (rtx producer, rtx consumer)
static bool
arm_promote_prototypes (tree t ATTRIBUTE_UNUSED)
{
return arm_abi == ARM_ABI_APCS || arm_abi == ARM_ABI_ATPCS;
return !TARGET_AAPCS_BASED;
}
......@@ -307,6 +307,8 @@ extern GTY(()) rtx aof_pic_label;
: (target_flags & THUMB_FLAG_BACKTRACE))
#define TARGET_CIRRUS_FIX_INVALID_INSNS (target_flags & CIRRUS_FIX_INVALID_INSNS)
#define TARGET_LDRD (arm_arch5e && ARM_DOUBLEWORD_ALIGN)
#define TARGET_AAPCS_BASED \
(arm_abi != ARM_ABI_APCS && arm_abi != ARM_ABI_ATPCS)
/* SUBTARGET_SWITCHES is used to add flags on a per-config basis. */
#ifndef SUBTARGET_SWITCHES
......@@ -655,8 +657,8 @@ extern int arm_is_6_or_7;
#define UNITS_PER_WORD 4
/* True if natural alignment is used for doubleword types. */
#define ARM_DOUBLEWORD_ALIGN \
(arm_abi == ARM_ABI_AAPCS || arm_abi == ARM_ABI_IWMMXT)
#define ARM_DOUBLEWORD_ALIGN TARGET_AAPCS_BASED
#define DOUBLEWORD_ALIGNMENT 64
#define PARM_BOUNDARY 32
......@@ -716,6 +718,17 @@ extern const char * structure_size_string;
/* Nonzero if move instructions will actually fail to work
when given unaligned data. */
#define STRICT_ALIGNMENT 1
/* wchar_t is unsigned under the AAPCS. */
#ifndef WCHAR_TYPE
#define WCHAR_TYPE (TARGET_AAPCS_BASED ? "unsigned int" : "int")
#define WCHAR_TYPE_SIZE BITS_PER_WORD
#endif
#ifndef SIZE_TYPE
#define SIZE_TYPE (TARGET_AAPCS_BASED ? "unsigned int" : "long unsigned int")
#endif
/* Standard register usage. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment