aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/Bitfields.ml
diff options
context:
space:
mode:
authorBernhard Schommer <bernhardschommer@gmail.com>2016-12-07 16:03:17 +0100
committerBernhard Schommer <bernhardschommer@gmail.com>2016-12-07 16:03:17 +0100
commit0c73ba202a910d5ab2ae900a56264fc1534f0214 (patch)
tree0e7fe704111bec0404916c3b88d02138fadc9b32 /cparser/Bitfields.ml
parent680444f180c750078a77b0591cd5c19e632612d6 (diff)
downloadcompcert-0c73ba202a910d5ab2ae900a56264fc1534f0214.tar.gz
compcert-0c73ba202a910d5ab2ae900a56264fc1534f0214.zip
Next try for support of anonymous structs.
Instead of using idents the anonymous fileds get names of the for <anon>_c where c is a counter of all anonymous members. Bug 20003
Diffstat (limited to 'cparser/Bitfields.ml')
-rw-r--r--cparser/Bitfields.ml6
1 files changed, 3 insertions, 3 deletions
diff --git a/cparser/Bitfields.ml b/cparser/Bitfields.ml
index 9f38abc6..dc630ad3 100644
--- a/cparser/Bitfields.ml
+++ b/cparser/Bitfields.ml
@@ -137,7 +137,7 @@ let rec transf_struct_members env id count = function
bf_bool = is_bool}
end)
bitfields;
- { fld_name = carrier; fld_typ = carrier_typ; fld_bitfield = None}
+ { fld_name = carrier; fld_typ = carrier_typ; fld_bitfield = None; fld_anonymous = false;}
:: transf_struct_members env id (count + 1) ml'
end
end
@@ -174,7 +174,7 @@ let rec transf_union_members env id count = function
bf_pos = pos'; bf_size = nbits;
bf_signed = signed; bf_signed_res = signed2;
bf_bool = is_bool};
- { fld_name = carrier; fld_typ = carrier_typ; fld_bitfield = None}
+ { fld_name = carrier; fld_typ = carrier_typ; fld_bitfield = None; fld_anonymous = false;}
:: transf_struct_members env id (count + 1) ms)
let transf_composite env su id attr ml =
@@ -334,7 +334,7 @@ let rec transf_struct_init id fld_init_list =
let (el, rem') =
pack_bitfield_init id bf.bf_carrier fld_init_list in
({fld_name = bf.bf_carrier; fld_typ = bf.bf_carrier_typ;
- fld_bitfield = None},
+ fld_bitfield = None; fld_anonymous = false},
Init_single {edesc = ECast(bf.bf_carrier_typ, or_expr_list el);
etyp = bf.bf_carrier_typ})
:: transf_struct_init id rem'