From ce4951549999f403446415c135ad1403a16a15c3 Mon Sep 17 00:00:00 2001 From: xleroy Date: Mon, 12 Nov 2012 13:42:22 +0000 Subject: Globalenvs: allocate one-byte block with permissions Nonempty for each function definition, so that comparisons between function pointers are correctly defined. AST, Globalenvs, and many other files: represent programs as a list of (function or variable) definitions instead of two lists, one for functions and the other for variables. git-svn-id: https://yquem.inria.fr/compcert/svn/compcert/trunk@2067 fca1b0fc-160b-0410-b1d3-a4f43f01ea2e --- arm/PrintAsm.ml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'arm') diff --git a/arm/PrintAsm.ml b/arm/PrintAsm.ml index ec1e836..60d0fa4 100644 --- a/arm/PrintAsm.ml +++ b/arm/PrintAsm.ml @@ -698,13 +698,6 @@ let print_function oc name fn = fprintf oc " .type %a, %%function\n" print_symb name; fprintf oc " .size %a, . - %a\n" print_symb name print_symb name -let print_fundef oc (name, defn) = - match defn with - | Internal code -> - print_function oc name code - | External ef -> - () - (* Data *) let print_init oc = function @@ -734,7 +727,7 @@ let print_init_data oc name id = else List.iter (print_init oc) id -let print_var oc (name, v) = +let print_var oc name v = match v.gvar_init with | [] -> () | _ -> @@ -756,8 +749,14 @@ let print_var oc (name, v) = fprintf oc " .type %a, %%object\n" print_symb name; fprintf oc " .size %a, . - %a\n" print_symb name print_symb name +let print_globdef oc (name, gdef) = + | Gfun(Internal f) -> print_function oc name f + | Gfun(External ef) -> () + | Gvar v -> print_var oc name v + let print_program oc p = (* fprintf oc " .fpu vfp\n"; *) List.iter (print_var oc) p.prog_vars; - List.iter (print_fundef oc) p.prog_funct + List.iter (print_globdef oc) p.prog_defs + -- cgit v1.2.3