diff options
author | David Monniaux <David.Monniaux@univ-grenoble-alpes.fr> | 2021-09-24 14:51:15 +0200 |
---|---|---|
committer | David Monniaux <David.Monniaux@univ-grenoble-alpes.fr> | 2021-09-24 14:51:15 +0200 |
commit | e49318b3606d7568d8592887e4278efa696afd10 (patch) | |
tree | 99a9a1b883e1db3a4f56e1b5046453817827ceef /cfrontend/PrintCsyntax.ml | |
parent | 2789e6179af061381f5b18a268adb562b28bcb8e (diff) | |
parent | c34d25e011402aedad62b3fe9b7b04989df4522e (diff) | |
download | compcert-kvx-e49318b3606d7568d8592887e4278efa696afd10.tar.gz compcert-kvx-e49318b3606d7568d8592887e4278efa696afd10.zip |
Merge branch 'master' of https://github.com/AbsInt/CompCert into towards_3.10
Diffstat (limited to 'cfrontend/PrintCsyntax.ml')
-rw-r--r-- | cfrontend/PrintCsyntax.ml | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/cfrontend/PrintCsyntax.ml b/cfrontend/PrintCsyntax.ml index 898a14b6..5fa9ea17 100644 --- a/cfrontend/PrintCsyntax.ml +++ b/cfrontend/PrintCsyntax.ml @@ -206,7 +206,7 @@ let rec expr p (prec, e) = then fprintf p "@[<hov 2>(" else fprintf p "@[<hov 2>"; begin match e with - | Eloc(b, ofs, _) -> + | Eloc(b, ofs, _, _) -> fprintf p "<loc%a>" !print_pointer_hook (b, ofs) | Evar(id, _) -> fprintf p "%s" (extern_atom id) @@ -536,13 +536,18 @@ let struct_or_union = function Struct -> "struct" | Union -> "union" let declare_composite p (Composite(id, su, m, a)) = fprintf p "%s %s;@ " (struct_or_union su) (extern_atom id) +let print_member p = function + | Member_plain(id, ty) -> + fprintf p "@ %s;" (name_cdecl (extern_atom id) ty) + | Member_bitfield(id, sz, sg, attr, w, _is_padding) -> + fprintf p "@ %s : %s;" + (name_cdecl (extern_atom id) (Tint(sz, sg, attr))) + (Z.to_string w) + let define_composite p (Composite(id, su, m, a)) = fprintf p "@[<v 2>%s %s%s {" (struct_or_union su) (extern_atom id) (attributes a); - List.iter - (fun (fid, fty) -> - fprintf p "@ %s;" (name_cdecl (extern_atom fid) fty)) - m; + List.iter (print_member p) m; fprintf p "@;<0 -2>};@]@ @ " let print_program p prog = |