GNU Pascal supports Borland Pascal's "typed constants" but also Extended Pascal's initialized variables:
Var x: Integer value 7;
When a typed constant is misused as an initialized variable, a warning is given.
Initialization of structured variables (typed constants) is not yet stable.
When you want a local variable to preserve its value, define it as `__static__' instead of using a typed constant:
Procedure Foo; Var x: __static__ Real; begin (* Foo *) (* x keeps its value between two calls to this Procedure *) end (* Foo *);
Remark: If you don't like underscores, you can use the (*$define *) mechanism to get rid of them:
(*$define static __static__ *)