mirror of
https://github.com/SEPPDROID/Digital-Research-Source-Code.git
synced 2025-10-23 08:24:18 +00:00
83 lines
2.7 KiB
Groff
83 lines
2.7 KiB
Groff
|
|
|
|
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)
|