From c8dfb8efd61184617d8964d424fd6a9edba95aa6 Mon Sep 17 00:00:00 2001 From: geoffk Date: Wed, 1 Nov 2006 05:28:41 +0000 Subject: In gcc/: PR 23067 * c-decl.c (start_struct): Don't create self-containing structures. * config/rs6000/rs6000.c (darwin_rs6000_special_round_type_align): New. * config/rs6000/rs6000-protos.h (darwin_rs6000_special_round_type_align): New. * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Rewrite. (ROUND_TYPE_ALIGN): Use darwin_rs6000_special_round_type_align. In gcc/testsuite/: PR 23067 * gcc.target/powerpc/darwin-abi-3.c: Remove XFAIL. * gcc.target/powerpc/darwin-abi-6.c: Remove XFAIL. * gcc.target/powerpc/darwin-abi-7.c: Remove XFAIL. * gcc.target/powerpc/darwin-abi-8.c: Remove XFAIL. * gcc.target/powerpc/darwin-abi-9.c: Remove XFAIL. * gcc.target/powerpc/darwin-abi-10.c: Remove XFAIL. * gcc.target/powerpc/darwin-abi-11.c: Remove XFAIL. In libobjc/: * encoding.c (darwin_rs6000_special_round_type_align): New. In libffi/: * src/powerpc/ffi_darwin.c (darwin_adjust_aggregate_sizes): New. (ffi_prep_cif_machdep): Call darwin_adjust_aggregate_sizes for Darwin. * testsuite/libffi.call/nested_struct4.c: Remove Darwin XFAIL. * testsuite/libffi.call/nested_struct6.c: Remove Darwin XFAIL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118365 138bc75d-0d04-0410-961f-82ee72b054a4 --- libobjc/encoding.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libobjc/encoding.c') diff --git a/libobjc/encoding.c b/libobjc/encoding.c index 21a785814dc..e65634103aa 100644 --- a/libobjc/encoding.c +++ b/libobjc/encoding.c @@ -120,6 +120,10 @@ static int __attribute__ ((__unused__)) not_target_flags = 0; : TREE_TYPE (_fields)) == DFmode) \ ? MAX (MAX (COMPUTED, SPECIFIED), 64) \ : MAX (COMPUTED, SPECIFIED));}) +/* FIXME: The word 'fixme' is insufficient to explain the wrong-ness + of this next macro definition. */ +#define darwin_rs6000_special_round_type_align(S,C,S2) \ + rs6000_special_round_type_align(S,C,S2) /* return the size of an object specified by type -- cgit v1.2.1