The following testsuite fails because of this FAIL: objc.dg-struct-layout-encoding-1/t024_main.m execution test unknown type ]} struct { _Complex float a;} size is 8, but is calulated as 0 struct { _Complex float a;} align is 4, but is calulated as 1 struct { _Complex unsigned int a;} size is 8, but is calulated as 0 struct { _Complex unsigned int a;} align is 4, but is calulated as 1 FAIL: objc.dg-struct-layout-encoding-1/t024_main.m execution test
I am handling this one, I sent a RFC to the objective-C language list.
Patch here: http://gcc.gnu.org/ml/gcc-patches/2005-12/msg01234.html This also includes the libobjc part.
Fixed.
Subject: Bug 25360 Author: pinskia Date: Fri Dec 16 20:19:37 2005 New Revision: 108675 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=108675 Log: 2005-12-14 Andrew Pinski <pinskia@physics.uc.edu> PR objc/25360 * objc/objc-act.c (encode_type): Encode Complex types as 'j' followed by the inner type. 2005-12-14 Andrew Pinski <pinskia@physics.uc.edu> PR objc/25360 * objc/objc-api.c (_C_COMPLEX): New define. * encoding.c (objc_sizeof_type): Handle _C_Complex. (objc_alignof_type): Likewise. (objc_skip_typespec): Likewise. Modified: trunk/gcc/objc/ChangeLog trunk/gcc/objc/objc-act.c trunk/libobjc/ChangeLog trunk/libobjc/encoding.c trunk/libobjc/objc/objc-api.h