Nothing defines ARM_WINCE, and arm*-wince-pe* is in config.gcc's list
of unsupported targets, so the #ifndef around the APCS aggregate rules
is always true.

Built for arm-none-eabi: arm.o differs from an unpatched build only in
the line numbers passed to gcc_assert.

Assisted-by: Claude Opus 5 (Anthropic)

gcc/ChangeLog:

        * config/arm/arm.cc (arm_return_in_memory): Remove the ARM_WINCE
        conditional.

Signed-off-by: Dominic P <[email protected]>
---
OK for trunk?

 gcc/config/arm/arm.cc | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc
index 33b64995442..33279495e86 100644
--- a/gcc/config/arm/arm.cc
+++ b/gcc/config/arm/arm.cc
@@ -6178,9 +6178,6 @@ arm_return_in_memory (const_tree type, const_tree fntype)
       return (size < 0 || size > UNITS_PER_WORD);
     }
 
-  /* For the arm-wince targets we choose to be compatible with Microsoft's
-     ARM and Thumb compilers, which always return aggregates in memory.  */
-#ifndef ARM_WINCE
   /* All structures/unions bigger than one word are returned in memory.
      Also catch the case where int_size_in_bytes returns -1.  In this case
      the aggregate is either huge or of variable size, and in either case
@@ -6259,7 +6256,6 @@ arm_return_in_memory (const_tree type, const_tree fntype)
 
       return false;
     }
-#endif /* not ARM_WINCE */
 
   /* Return all other types in memory.  */
   return true;
-- 
2.55.0

Reply via email to