c68/c386 Version 4.4
~~~~~~~~~~~~~~~~~~~~

The following problems are known to be outstanding in c68/c386 at this
release:

All versions
~~~~~~~~~~~~

Incorrect code is generated for:

- The *=, /= and %= operators perform incorrect promotions when the LHS is
  an integral value and the RHS is a floating point value.
  Consider the case where i is an int and d is a double.  The expression i *= d
  should be evaluated as if the expressions was i = (int)((double)i * d).
  However the current release evaluates this as i = i * (int)d;


- Adjacent wide string literals are not concatinated.


The following undefined behaviours are not detected:

- An attempt is made to modify a string literal of either form.

- An object is modified more than once, or is modified and accessed other
  than to determine the new value, between two sequence points.

- The value of an uninitialized object that has automatic storage duration
  is used before a value is assigned.

c386 version
~~~~~~~~~~~~

- The -stackopt is known to cause a problem when compiling the 386 kernel.
  Until this problem is finally tracked down this option should be 
  concidered "unsafe".  However if there are brave souls out in the wide
  world who wish to use it (and possibly help us track down the contruct(s)
  which are causing the problem) then go ahead and let us know if you
  have any problems.  [It is possible the problem also exists in the c68
  version but I have not yet encountered it in this version and until it
  is identified we cannot rule it out.]

- Konichi Hirabayashi has reported a problem with a simulator
  program supplied with BSD 386 which used to work correctly with
  earlier versions of c386 but stopped working with version 4.3 ... this
  problem has yet to be identified.  It is not know if release 4.4 fixes
  this problem.
