6011353cec
Added script test_option which: - compile and run without option - compile with option given as argument, run - diff on the two outputs, fails if different outputs config file checks for existence of compiler (fails if not exist) statics1.ept is a copy of statics.ept ; statics2.ept depends on statics1.ept instead of statics.ept (so as dependency order => lexical order on file names)
36 lines
577 B
Text
36 lines
577 B
Text
(* Check manually *)
|
|
(* This test should only create two instances of f. *)
|
|
const c2:int = 3
|
|
const k2:int = 1
|
|
|
|
fun f<<n:int>>() returns (y:int)
|
|
let
|
|
y = n + 3 + c2;
|
|
tel
|
|
|
|
fun g<<m:int>>() returns (y:int)
|
|
var x:int;
|
|
let
|
|
x = m + f<<2>>();
|
|
y = f<<m>>();
|
|
tel
|
|
|
|
fun i<<m:int>>() returns (o : int)
|
|
var x, y, z: int;
|
|
let
|
|
x = f<<2>>();
|
|
y = f<<1 + m>>();
|
|
z = f<<k2 + 1>>();
|
|
o = f<<m + k2>>();
|
|
tel
|
|
|
|
fun h() returns (y,y2:int)
|
|
let
|
|
y = c2 + g<<c2>>() + i<<k2>>();
|
|
y2 = c2 + Statics1.g<<k2>>() + Statics1.i<<k2>>();
|
|
tel
|
|
|
|
node main() returns (y,y2:int)
|
|
let
|
|
(y,y2) = h()
|
|
tel
|