diff options
author | Geoffrey Keating <geoffk@gcc.gnu.org> | 2006-11-01 05:28:41 +0000 |
---|---|---|
committer | Geoffrey Keating <geoffk@gcc.gnu.org> | 2006-11-01 05:28:41 +0000 |
commit | 58182de35798c4aaeaf0b01a8fe09d01542e70eb (patch) | |
tree | 74f939bf9675730feae0078a642eb4da864c5ce5 /libobjc/encoding.c | |
parent | 0e7e09dc1ea764c04262a1d3d2adba77a73bdc7e (diff) | |
download | gcc-58182de35798c4aaeaf0b01a8fe09d01542e70eb.zip gcc-58182de35798c4aaeaf0b01a8fe09d01542e70eb.tar.gz gcc-58182de35798c4aaeaf0b01a8fe09d01542e70eb.tar.bz2 |
In gcc/: PR 23067
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.
From-SVN: r118365
Diffstat (limited to 'libobjc/encoding.c')
-rw-r--r-- | libobjc/encoding.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libobjc/encoding.c b/libobjc/encoding.c index 21a7858..e656341 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 |