]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libobjc: Add local macros to support encode generation [P109913].
authorIain Sandoe <iain@sandoe.co.uk>
Mon, 22 May 2023 19:15:36 +0000 (20:15 +0100)
committerIain Sandoe <iain@sandoe.co.uk>
Mon, 22 May 2023 21:43:19 +0000 (22:43 +0100)
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 <iain@sandoe.co.uk>
PR libobjc/109913

libobjc/ChangeLog:

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

Co-authored-by: Andrew Pinski <apinski@marvell.com>
libobjc/encoding.c

index 9bd261c52bd41de5fb6b52c76a5780bd2953e575..f1bbd6bf6eeb0d617467e39983b4c9989c57c634 100644 (file)
@@ -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