method vglob_aux g =
match g with
| GFun (_f, _loc)
-> Cil.DoChildren
| GVar (v, _, _loc)
| GVarDecl (_, v, _loc) ->
if Hashtbl.mem used_variables v then DoChildren
else begin
debug "[sparecode:globs] remove var %s@." v.vname;
ChangeTo []
end
| GType (ti, _loc) ->
if Hashtbl.mem used_typeinfo ti.tname then DoChildren
else begin
debug "[sparecode:globs] remove typedef %s@." ti.tname;
ChangeTo []
end
| GCompTag (ci, _loc)
| GCompTagDecl (ci, _loc) ->
if Hashtbl.mem used_compinfo ci.cname then DoChildren
else begin
debug "[sparecode:globs] remove comp %s@." ci.cname;
ChangeTo []
end
| GEnumTag (ei, _loc)
| GEnumTagDecl (ei, _loc) ->
if Hashtbl.mem used_enuminfo ei.ename then DoChildren
else begin
debug "[sparecode:globs] remove enum %s@." ei.ename;
DoChildren
end
| _ -> Cil.DoChildren