|
GCC Middle and Back End API Reference
|
#include <tree.h>

Data Fields | |
| tree | t |
| tree | offset |
| unsigned int | offset_align |
| tree | bitpos |
| unsigned int | record_align |
| unsigned int | unpacked_align |
| tree | prev_field |
| vec< tree, va_gc > * | pending_statics |
| int | remaining_in_alignment |
| int | packed_maybe_necessary |
These functions allow a front-end to perform a manual layout of a RECORD_TYPE. (For instance, if the placement of subsequent fields depends on the placement of fields so far.) Begin by calling start_record_layout. Then, call place_field for each of the fields. Then, call finish_record_layout. See layout_type for the default way in which these functions are used.
| tree record_layout_info_s::bitpos |
Referenced by debug_rli(), finalize_record_size(), normalize_rli(), place_field(), rli_size_so_far(), rli_size_unit_so_far(), and start_record_layout().
| tree record_layout_info_s::offset |
Referenced by debug_rli(), normalize_rli(), place_field(), place_union_field(), rli_size_so_far(), rli_size_unit_so_far(), and start_record_layout().
| unsigned int record_layout_info_s::offset_align |
Referenced by debug_rli(), finalize_record_size(), normalize_rli(), place_field(), and start_record_layout().
| int record_layout_info_s::packed_maybe_necessary |
Referenced by debug_rli(), finalize_record_size(), place_field(), and start_record_layout().
Referenced by debug_rli(), finish_record_layout(), place_field(), and start_record_layout().
| tree record_layout_info_s::prev_field |
Referenced by place_field(), start_record_layout(), and update_alignment_for_field().
| unsigned int record_layout_info_s::record_align |
Referenced by debug_rli(), finalize_record_size(), place_field(), start_record_layout(), and update_alignment_for_field().
| int record_layout_info_s::remaining_in_alignment |
Referenced by debug_rli(), place_field(), and start_record_layout().
| tree record_layout_info_s::t |
| unsigned int record_layout_info_s::unpacked_align |
Referenced by debug_rli(), finalize_record_size(), start_record_layout(), and update_alignment_for_field().