This fixes bootstrap on powerpc-darwin, and was tested there for
both GNU and NeXT Objective-C testsuite.  Approved in the PR by Andrew,
pushed to trunk, thanks,
Iain

--- 8< ---

r14-976-g9907413a3a6aa3 alters code to use the preferred _P-style
macros rather than direct comparisons of (for example) tree codes.

In the context of libobjc this does not work, since we do not include
the relevant headers; the encoding implementation contains a local
emulation of the target type layouts.

The fix here provides relevant macros local to the use.

Signed-off-by: Iain Sandoe <i...@sandoe.co.uk>

        PR libobjc/109913

libobjc/ChangeLog:

        * encoding.c (RECORD_OR_UNION_TYPE_P, VECTOR_TYPE_P): New.

Co-authored-by: Andrew Pinski <apin...@marvell.com>
---
 libobjc/encoding.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index 9bd261c52bd..f1bbd6bf6ee 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -67,6 +67,11 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If 
not, see
 #define UNION_TYPE      _C_UNION_B
 #define QUAL_UNION_TYPE _C_UNION_B
 #define ARRAY_TYPE      _C_ARY_B
+#define RECORD_OR_UNION_TYPE_P(TYPE)                   \
+       ((TREE_CODE (TYPE) == RECORD_TYPE)              \
+        || (TREE_CODE (TYPE) == UNION_TYPE)            \
+        || (TREE_CODE (TYPE) == QUAL_UNION_TYPE))
+#define VECTOR_TYPE_P(TYPE) (TREE_CODE (TYPE) == VECTOR_TYPE)
 
 #define REAL_TYPE       _C_DBL
 
-- 
2.39.2 (Apple Git-143)

Reply via email to