Project

General

Profile

« Previous | Next » 

Revision 2d179f5b

Added by Xavier Thirioux over 9 years ago

numerous bugs corrected:
- bug in expansion of array accesses with constant arrays
- bug in printing complex array indexes (not C compliant)
- bug wrt C99 typing policy for constant arrays
- bug in signaling wrong useless static input

git-svn-id: https://cavale.enseeiht.fr/svn/lustrec/lustre_compiler/trunk@482 041b043f-8d7c-46b2-b46e-ef0dd855326e

View differences:

src/causality.ml
216 216
    | Expr_fby (e1, e2)  -> add_dep true lhs e2 (add_dep false lhs e1 g)
217 217
    | Expr_pre e      -> add_dep true lhs e g
218 218
    | Expr_ident x -> add_var lhs_is_mem lhs x (add_clock lhs_is_mem lhs rhs.expr_clock g)
219
    | Expr_access (e1, _)
220
    | Expr_power (e1, _) -> add_dep lhs_is_mem lhs e1 g
219
    | Expr_access (e1, d)
220
    | Expr_power (e1, d) -> add_dep lhs_is_mem lhs e1 (add_dep lhs_is_mem lhs (expr_of_dimension d) g)
221 221
    | Expr_array a -> List.fold_right (add_dep lhs_is_mem lhs) a g
222 222
    | Expr_tuple t -> List.fold_right2 (fun l r -> add_dep lhs_is_mem [l] r) lhs t g
223 223
    | Expr_merge (c, hl) -> add_var lhs_is_mem lhs c (List.fold_right (fun (_, h) -> add_dep lhs_is_mem lhs h) hl g)

Also available in: Unified diff