[pushed] libobjc, Darwin : Fix powerpc encoding regression.

Message ID 7F02CBD6-5AD7-409D-9DCC-D9A90CF0BA1F@sandoe.co.uk
State New
Headers show
Series
  • [pushed] libobjc, Darwin : Fix powerpc encoding regression.
Related show

Commit Message

Iain Sandoe Oct. 11, 2020, 7:01 p.m.
Hi

This corrects a typo in the recipe for the special type alignment
rules that are used for 32bit powerpc Darwin platforms.

The regression is present in all open branches (but luckily not on
7.5).  I plan to fix it on the branches too.

tested across the Darwin range, and on x86_64-linux
pushed to master as obvious / Darwin-specific.

thanks
Iain

libobjc/ChangeLog:

	* encoding.c (_darwin_rs6000_special_round_type_align):
	Use DFMode in the emulation of the special round type.
---
 libobjc/encoding.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

-- 
2.24.1

Patch

diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index 706c1d2896a..68a20d1d49d 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -146,7 +146,6 @@  static int __attribute__ ((__unused__)) not_target_flags = 0;
 #  undef TARGET_ALIGN_NATURAL
 #  define TARGET_ALIGN_NATURAL 1
 # endif
-
 /* On Darwin32, we need to recurse until we find the starting stuct type.  */
 static int 
 _darwin_rs6000_special_round_type_align (const char *struc, int comp, int spec)
@@ -163,7 +162,7 @@  _darwin_rs6000_special_round_type_align (const char *struc, int comp, int spec)
       case UNION_TYPE:
 	return MAX (MAX (comp, spec), objc_alignof_type (_stp) * __CHAR_BIT__);
 	break;
-      case E_DFmode:
+      case DFmode:
       case _C_LNG_LNG:
       case _C_ULNG_LNG:
 	return MAX (MAX (comp, spec), 64);