# sizes.pkg
# Compiled by:
#
src/lib/c-kit/src/ast/ast.sublib# sizes.pkg contains a default version of sizes;
# other versions will be available in a sizes database,
# or can be automatically generated (using sizes.c)
package sizes
: (weak) Sizes # Sizes is from
src/lib/c-kit/src/ast/sizes.api{
Layout = { bits: Int, align: Int };
Sizes = { char: Layout,
short: Layout,
int: Layout,
long: Layout,
longlong: Layout,
float: Layout,
double: Layout,
longdouble: Layout,
pointer: Layout,
min_struct: Layout,
min_union: Layout,
only_pack_bit_fields: Bool,
ignore_unnamed_bit_field_alignment: Bool };
my default_sizes: Sizes =
{ char => { bits=>8, align=>8 },
short=> { bits=>16, align=>16 },
int => { bits=>32, align=>32 },
long => { bits=>32, align=>32 },
longlong => { bits=>64, align=>64 }, # Default guess -- highly architecture dependent
float => { bits=>32, align=>32 },
double => { bits=>64, align=>64 },
longdouble => { bits=>64, align=>64 },
pointer => { bits=>32, align=>32 },
min_struct => { bits => 8, align => 8 },
min_union => { bits => 8, align => 8 },
only_pack_bit_fields => FALSE,
ignore_unnamed_bit_field_alignment => TRUE };
}; # package sizes