diff options
author | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-07-14 08:05:36 +0000 |
---|---|---|
committer | xleroy <xleroy@fca1b0fc-160b-0410-b1d3-a4f43f01ea2e> | 2012-07-14 08:05:36 +0000 |
commit | bd85aba84475dd956af21c461c44a584958099d1 (patch) | |
tree | bab1cefe9f84210559a4716a070d79967b60f2b5 /backend | |
parent | 48b839d15e69c3c9995ca3c25e6a7c4730224292 (diff) | |
download | compcert-bd85aba84475dd956af21c461c44a584958099d1.tar.gz compcert-bd85aba84475dd956af21c461c44a584958099d1.zip |
Support for indirect symbols under MacOS X (final).
Remove stdio hack in runtime/
git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@1979 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e
Diffstat (limited to 'backend')
-rw-r--r-- | backend/Constprop.v | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/backend/Constprop.v b/backend/Constprop.v index bc6a6476..19e5d1a6 100644 --- a/backend/Constprop.v +++ b/backend/Constprop.v @@ -251,6 +251,17 @@ Definition transf_ros (app: D.t) (ros: reg + ident) : reg + ident := | inr s => ros end. +Parameter generate_float_constants : unit -> bool. + +Definition const_for_result (a: approx) : option operation := + match a with + | I n => Some(Ointconst n) + | F n => if generate_float_constants tt then Some(Ofloatconst n) else None + | G symb ofs => Some(Oaddrsymbol symb ofs) + | S ofs => Some(Oaddrstack ofs) + | _ => None + end. + Definition transf_instr (gapp: global_approx) (app: D.t) (instr: instruction) := match instr with | Iop op args res s => |