summaryrefslogtreecommitdiff
path: root/gcc/ada/eval_fat.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2004-12-08 12:26:20 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2004-12-08 12:26:20 +0100
commit0da07eae29b486dcbd85cd85cc92fd20a10ca999 (patch)
tree86e8b03a0b8b8a40bb0b8af7e1f70a28d75256c7 /gcc/ada/eval_fat.adb
parenta4c1cd80655ef876d7f8ff5944999492647ebab5 (diff)
downloadgcc-0da07eae29b486dcbd85cd85cc92fd20a10ca999.tar.gz
decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for TYPE_SIZE_UNIT of result type if...
* decl.c (maybe_pad_type): Use TYPE_SIZE_UNIT of the input type for TYPE_SIZE_UNIT of result type if SIZE is not specified. (make_aligning_type): Pass -1 as ADDRESSABLE to prevent the creation of a bitfield, which we know is useless and causes trouble because of alignment implications. * utils.c (create_var_decl): Set DECL_COMMON again on targets without BSS sections. (process_attributes): Clear DECL_COMMON again when a section attribute is present. (finish_record_type): Independently track if RECORD_TYPE has SIZE and/or SIZE_UNIT already set and use to compute final SIZE and SIZE_UNIT. (create_field_decl): Special case ADDRESSABLE negative to mean "no bitfield creation", to be used by make_aligning_type. Don't restrict bitfield creation to !ADDRESSABLE any more, as some BLKmode fields claimed addressable still have to be bitfields. Use value_factor_p instead of a raw binop construction to check for the position's alignment. From-SVN: r91879
Diffstat (limited to 'gcc/ada/eval_fat.adb')
0 files changed, 0 insertions, 0 deletions