Skip to content
Snippets Groups Projects
Commit d7739c33 authored by Erwan Jahier's avatar Erwan Jahier
Browse files

Fix a bug in the handling of alias node, that was triggered is use in

conjunction of some program transformation (-ei or -esa).

In Lazycompiler.node_check_do, I've forgotten  to put the node i/o in
the local_env table in the case of node alias.
parent cdb52a14
No related branches found
No related tags found
No related merge requests found
(** Time-stamp: <modified the 03/02/2009 (at 16:04) by Erwan Jahier> *) (** Time-stamp: <modified the 03/02/2009 (at 16:08) by Erwan Jahier> *)
open Lxm open Lxm
......
(** Time-stamp: <modified the 03/02/2009 (at 16:05) by Erwan Jahier> *) (** Time-stamp: <modified the 03/02/2009 (at 16:08) by Erwan Jahier> *)
open Lxm open Lxm
...@@ -774,6 +774,17 @@ and (node_check_do: t -> Eff.node_key -> Lxm.t -> SymbolTab.t -> ...@@ -774,6 +774,17 @@ and (node_check_do: t -> Eff.node_key -> Lxm.t -> SymbolTab.t ->
in in
let (alias_node : Eff.node_exp) = make_alias_node aliased_node in let (alias_node : Eff.node_exp) = make_alias_node aliased_node in
(* update the local_env table *)
let _ =
let update_local_env_table vi =
Hashtbl.add local_env.lenv_vars vi.var_name_eff vi
in
List.iter update_local_env_table alias_node.inlist_eff;
List.iter update_local_env_table alias_node.outlist_eff;
match alias_node.loclist_eff with
None -> () | Some l -> List.iter update_local_env_table l;
in
(* Check that the declared profile (if any) matches with the alias *) (* Check that the declared profile (if any) matches with the alias *)
match node_def.it.vars with match node_def.it.vars with
| None -> alias_node | None -> alias_node
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment