summaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-11 06:28:35 +0000
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2005-12-11 06:28:35 +0000
commitf0727156003b474e6bd987b4d704f7929dad0fd2 (patch)
tree420342e937a38ecbfb6c217f8abd0a9f255e7a29 /libobjc
parent291424c3d7a0bf798b55504743bec1c586a3bbd3 (diff)
downloadgcc-f0727156003b474e6bd987b4d704f7929dad0fd2.tar.gz
2005-12-11 Andrew Pinski <pinskia@physics.uc.edu>
PR libobjc/25346 * objc/objc-api.h (_C_BOOL): New define. * encoding.c (objc_sizeof_type): Handle _C_BOOL. (objc_alignof_type): Likewise. (objc_skip_typespec): Likewise. 2005-12-11 Andrew Pinski <pinskia@physics.uc.edu> PR libobjc/25346 * objc.dg/encode-7.m: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@108378 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libobjc')
-rw-r--r--libobjc/ChangeLog8
-rw-r--r--libobjc/encoding.c9
-rw-r--r--libobjc/objc/objc-api.h1
3 files changed, 18 insertions, 0 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index 809bcc0abe5..56f1ef8a856 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,11 @@
+2005-12-11 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR libobjc/25346
+ * objc/objc-api.h (_C_BOOL): New define.
+ * encoding.c (objc_sizeof_type): Handle _C_BOOL.
+ (objc_alignof_type): Likewise.
+ (objc_skip_typespec): Likewise.
+
2005-11-20 David Ayers <d.ayers@inode.at>
PR libobjc/19024
diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index efdc2f0a161..7f6004fb9ca 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -123,6 +123,10 @@ objc_sizeof_type (const char *type)
}
switch (*type) {
+ case _C_BOOL:
+ return sizeof (_Bool);
+ break;
+
case _C_ID:
return sizeof (id);
break;
@@ -273,6 +277,10 @@ objc_alignof_type (const char *type)
/* do nothing */;
}
switch (*type) {
+ case _C_BOOL:
+ return __alignof__ (_Bool);
+ break;
+
case _C_ID:
return __alignof__ (id);
break;
@@ -496,6 +504,7 @@ objc_skip_typespec (const char *type)
case _C_INT:
case _C_UINT:
case _C_LNG:
+ case _C_BOOL:
case _C_ULNG:
case _C_LNG_LNG:
case _C_ULNG_LNG:
diff --git a/libobjc/objc/objc-api.h b/libobjc/objc/objc-api.h
index 1f5b5191ff8..e393c395219 100644
--- a/libobjc/objc/objc-api.h
+++ b/libobjc/objc/objc-api.h
@@ -69,6 +69,7 @@ struct objc_method_description
#define _C_FLT 'f'
#define _C_DBL 'd'
#define _C_BFLD 'b'
+#define _C_BOOL 'B'
#define _C_VOID 'v'
#define _C_UNDEF '?'
#define _C_PTR '^'