summaryrefslogtreecommitdiff
path: root/cfrontend
diff options
context:
space:
mode:
authorGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-07-28 01:19:20 +0000
committerGravatar xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e>2012-07-28 01:19:20 +0000
commit5f61d89783b4b3a85203025853c7f558a4aee7a7 (patch)
treecaae8f5f223b21b67079a5c39cd0d56ba313ffd5 /cfrontend
parent4297fcb821c3188449b64184af73e41491a6118f (diff)
Forgot to collect types of expressions
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1984 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
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