pre53: Aug ? 2002
- (modify (result) (...)) in function returning void used to cause crash;
  now we give error message
- liften restrictions about first declaring functions (extern)
  and then defining them (public)
- allow taking addresses of (compound ...) and (bind ...) (of course
  only if their operand allows that)

pre52: Aug 6 2002
- severe bugs were found in memory management -- they prevented compilation
  of huge input files; fixed

pre51: Jul 20 2002
- typesystem changes: 
    - added new (poly) type of doubtful usefulness;
    - added (tyalias (var (int 32) c_int)), (tyref c_int);
    - added (abstract_type hidden), (tyref hidden);
- better aliasing support (although it is probably buggy :)
    - added (alias_set foo) attribute to types
    - added (alias_subset x y) toplevel construct
- better debugger stuff:
    - added (export_name "...") attribute to types and other symbols; name 
      is used in assembler and debugger
    - (enumdef [(entry foo 1) (entry bar 2)]), (enumref bar);
      main purpose is however debugger.

pre50: Jul 4 2002
- syntax change: [{attr,parm,...} ...] -> [...]
- version number change (0 -> 1); version 0 not supported anymore

pre49: Jun 26 2002
- Make-lang.in handles making info properly now
- removed support for gcc 3.0, gcc 3.1+ is required
- bugfix: type_for_size() was broken, some type might get overwritten
- bugfix: "-Dfoo=bar -Dbaz" was same as "-Dfoo=bar -Dbaz=bar", not
  "-Dfoo=bar -Dbaz=1" as it should be
- added lang-options.h file with description of language specific options
- added (reference ...) type (similar to (ptr ...) but presented to 
  debugger in different way)

pre48: Feb 23 2002
- bugfix: global variables with non-local scope wasn't generated

pre47: Feb 22 2002
- bugfix: string concatenation ("foo". "bar") didn't work at all

pre46: Feb 17 2002
- added (try_finally ...) term
- bugfix: (exit ...) term now works (it didn't have TREE_SIDE_EFFECTS set)
- binary operators incorrectly assumed that all pointer types are compatible
  with each other, which is basically wrong, only void* pointer type is
  compatible with all other

pre45: Feb 07 2002
- bugfix: (wfl X (ref x)) wasn't lvalue (while (ref x) was)
- bugfix: parameter names from function prototype was retained in definition
  (thus it incorrectly reported
    (func .int32 foo [parm (var .int32 x)] (nil))
    (func .int32 foo [parm (var .int32 y)] 
      (bind (ref y) /* <- error here */ )))

pre44: Jan 17 2002
- spell checked docs
- minor updates in docs (added some discussion about Gont)
- (elipsis) -> (ellipsis) (alternative spelling preserved)

pre42: Jan 17 2002
- fixed build with objects in different directory
- fixed BUILTIN_SQRT,SIN,COS to work with 3.0.3

pre41: Jan 17 2002
- fixes for make bootstrap (on 3.1)
- as usual: 20020107+ snapshot or gcc 3.0.[1-3] required
- removed NO_CHECK_MEMORY_USAGE
- bugfixed BUILTIN_SQRT,SIN,COS

pre40: Nov 21 2001
- even more langhooks stuff, 20011119+ snapshot required (or 3.0.[12])
- finally did -E option work The Right Way, it is now translated by gcc
  driver program to -kpp OUTPUT-FILE, and -o /dev/null is appended,
  so debugger output goes where it is supposed to, and we have out
  OUTPUT-FILE translated from -o OUTPUT-FILE passed to gcc...

pre39: Nov 15 2001
- added (size_of TYPE) term
- more fixes for langhooks, 20011112+ snapshot required (or 3.0.[12])
- got rid of ICE when using undefined field of structure/union

pre37: Nov 11 2001
- thrown away stupid TREE_H override in Make-lang.in (it was there since
  toy compiler)
- make it use langhooks.h (if detected), should work well with 3.1 
  snapshots now
- minor fixes in documentation (including ftp://aleph-0.dhs.org/ is dead)

pre30: Oct 1 2001
- fixed examples (they were slightly out of date...)
- use fold() in return from compile(), hmmm... I wonder if it's needed.
- use gperf instead of bsearch() for keyword lookups
- got rid of (fix ...), now we have (fix_{trunc,floor,ceil,round} ...),
  I guess nobody will be using these anyway... :) [INCOMPATYBILE CHANGE]
- added {pre,post}{inc,dec}

pre27: Sep 26 2001
- changed storage specifiers to more general [attr ...] term, it is 
  also used for types (just for structures now) [INCOMPATYBILE CHANGE]
  also added .local, .public and .extern macros, they work as storage 
  specifiers before
- added .sizetype (same as .uptr_diff, in C it's size_t)
- added more docs about builtins (it still far from enough)

pre26: Sep 25 2001
- set DECL_CONTEXT(field) to record. Surprisingly this broke only 
  alpha with -g :)
- added hack not to inline function with (builtin longjmp ...) inside
  (avoids ICE)

pre24: Sep 19 2001
- compiler name change. s/cc1ksi/ksi1/
- use *_TYPE_SIZE and POINTER_SIZE in kpp_init() instead of 
  TYPE_PRECISION(*_type_node)
- removed unused #include's
- added (builtin ...) and (fbuiltin ...)
- implemented (func_ptr ...)
- added (ptr_call ...) and (ptr_fcall ...)
- added (func_ref ...)

pre22: Sep 19 2001
- use own lang_identifier to store macros for kpp. 
- there were one malloc() per input token, now ggc_alloc_string() is 
  used (it should run faster)
- (wfl ...) and (input_file ...) debugging entries
- (struct ...) and (structdef ...), (union ...) and (uniondef ...)
- s/static/local in (func ...), reason: it was confusing C'ism, there is
  no point calling local functions ``static''
- (static_var ...), (global ...) added
- fixed prototyping, forward declaration and redefinitions

pre18: Sep 17 2001
- added setting names of types for debugging, -g seems to work now
- added global_binding_level->names to tree roots
- (type ...) term has been dropped, ({{u,}int,float,ptr} ...) introduced.
  beginning of new typesystem, preparation for structures, unions and enums.
  [INCOMPATYBILE CHANGE]
- reformatted sources to fit 80-column screen.

pre16: Sep 14 2001
- s/build1/build/ few times, build1() seems to be not
  suitable for building statements
- small fix for 64bit hosts
- fixed severe bugs with floating point literals
- fixed docs about (fix ...) and (float ...), fixed (convert ...) to
  use {FIX_TRUNC,FLOAT}_EXPR as needed.
- moved TODO to info file, BUGS section added there
- added simple driver shell script, it is to be used to drive compilers,
  that use ksi as a target
- fixed taking addresses of variables (TREE_ADDRESSABLE() is set now)

pre11: Sep 12 2001
- got rid of strtoull() and long long
- bugfixes (axp build) + some more tests
- added macros for endianess checks
- added stringize operator

pre9: Sep 11 2001
- added texinfo file
- added ksi.vim file
- fixed compilation problems (strip-cpp-comment did some
  bad things in glue.c, I have dropped it off)
- removed (bin ...) and (unary ...) terms, all operators are now
  terms on their own
- added simple internal preprocessor

pre5: Sep 10 2001
- first release
