From d54fef19ae19df47dc9e0d64afdb6a110f5ecdb2 Mon Sep 17 00:00:00 2001 From: Bernhard Schommer Date: Tue, 10 Nov 2020 19:15:16 +0100 Subject: Emit no entry for variables without init in json. Variables without init do not generated any assembly code so no entry in the json AST should be generated. They correspond to extern variables without initializer that are defined in another compilation unit. Bug 30112 --- backend/JsonAST.ml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'backend') diff --git a/backend/JsonAST.ml b/backend/JsonAST.ml index d218e567..8ab874b1 100644 --- a/backend/JsonAST.ml +++ b/backend/JsonAST.ml @@ -114,11 +114,17 @@ let pp_program pp pp_inst prog = let prog_vars,prog_funs = List.fold_left (fun (vars,funs) (ident,def) -> match def with | Gfun (Internal f) -> + (* No assembly is generated for non static inline functions *) if not (atom_is_iso_inline_definition ident) then vars,(ident,f)::funs else vars,funs - | Gvar v -> (ident,v)::vars,funs + | Gvar v -> + (* No assembly is generated for variables without init *) + if v.gvar_init <> [] then + (ident,v)::vars,funs + else + vars, funs | _ -> vars,funs) ([],[]) prog.prog_defs in pp_jobject_start pp; pp_jmember ~first:true pp "Global Variables" (pp_jarray pp_vardef) prog_vars; -- cgit