summaryrefslogtreecommitdiff
path: root/cfrontend
diff options
context:
space:
mode:
Diffstat (limited to 'cfrontend')
-rw-r--r--cfrontend/PrintClight.ml4
-rw-r--r--cfrontend/PrintCsyntax.ml4
2 files changed, 6 insertions, 2 deletions
diff --git a/cfrontend/PrintClight.ml b/cfrontend/PrintClight.ml
index feb07fa..ced5717 100644
--- a/cfrontend/PrintClight.ml
+++ b/cfrontend/PrintClight.ml
@@ -252,7 +252,9 @@ let print_fundef p (id, fd) =
(* Collect struct and union types *)
-let rec collect_expr = function
+let rec collect_expr e =
+ collect_type (typeof e);
+ match e with
| Econst_int _ -> ()
| Econst_float _ -> ()
| Evar _ -> ()
diff --git a/cfrontend/PrintCsyntax.ml b/cfrontend/PrintCsyntax.ml
index ae25e17..f63c150 100644
--- a/cfrontend/PrintCsyntax.ml
+++ b/cfrontend/PrintCsyntax.ml
@@ -440,7 +440,9 @@ and collect_fields = function
| Fnil -> ()
| Fcons(id, hd, tl) -> collect_type hd; collect_fields tl
-let rec collect_expr = function
+let rec collect_expr e =
+ collect_type (typeof e);
+ match e with
| Eloc _ -> assert false
| Evar _ -> ()
| Ederef(r, _) -> collect_expr r