

                        V4.2 C68 Changes

Enhancements
    - Block Declarations now supported.

    - Local initializations now supported.

    - Structure Bit field initializations now supported.
    
    - Preprocessor is now a separate pass and may be called manually.

    - Support of the '-C' preprocessor flag.

    - Support of the '-g' flag for use with the symbolic debugger.

    - The '-L' flag which forces all externally addressed variables to 32
      bit addresses is now the default, the '-a' flag may be used to force
      them to 16 bit addresses.

    - The assembler now handles the new mnemonics required by the 68010.

    - All compiler error messages designate the source file in which the
      problem occured as well as the line number.

    - All compiler error messages are written to the standard error device.

    - Addition of warning messages for possibly erraneous or unportable
      constructs.

Bug Fixes
    - Local, global, and block variables with the same names are now allowed
      as well as subroutines with the same names as labels.

    - Character constant array subscripting (problem only in 4.1 release). 

    - Structure initializations are now handled properly (including bit
      fields and arrays).

    - Sizeof works properly on all combinations of arrays and structures.

    - Complex conditional expression of the form (--regi != -1 && expression)
      generates the correct code now (problem only in 4.0 and 4.1 releases).

    - Structure assignments of structures larger then 22 bytes now works
      properly.

    - -Idir no longer requires a terminating slash.

    - Floating point operations of the form "if (fp)" where fp is a float 
      now generates the proper code.

    - Floating point constants no longer require a digit to precede the
      decimal point.

    - Pre/post increment/decrement on floats now generates the proper code
      in all cases, equal-op operations on floats now work propely in all
      cases.  (in particular if the floating point value is a structure
      member).

    _ Long expression cast as int destined for stack will always be past
      as an int.

    - Long constants as array indices will not be turned into 16-bit 
      displacement values.

    - All octal and hex constants which fit into 16 bits as unsigned values
      will be treated as integer constants.

Known Deficiencies
    - Unsigned long not supported.  (system III unix)

    - Unsigned char not supported.  (system III unix)

    - Void type unimplemented.  (system III unix)
    
    - Enum type unimplemented.  (system III unix)
    
    - Functions can not return structures.  (system III unix)

    - You can't pass structures as arguments.   (system III unix)
