This ORCA/C update contains various enhancements and bug fixes, including support for many features from the recent C23 standard. Major new features added since ORCA/C 2.2.1 include:
- C23 language features
- New spellings without underscores for some keywords like
bool true,false, andnullptrpredefined constantstypeofandtypeof_unqualoperators#elifdefand#elifndefpreprocessor directives#embedpreprocessor directive for embedding data from files- Type inference using
autoin variable declarations - Bit-precise integer types
_BitInt(N)andunsigned _BitInt(N) - Variable-length array types (but not VLAs as local variables)
- Optional support for C23 rules requiring function prototypes
- Enumeration constant values can be outside the range of int
- Underlying types for enumerations can be explicitly specified
- Structure, union, or enumeration definitions can be repeated
- Labels are allowed before declarations or at the end of a block
- New spellings without underscores for some keywords like
- C23 library features
- Many new floating-point math functions
- New
<stdbit.h>header with many bit utility functions - Support for binary numbers in
printfandscanf - Various new library functions such as
memccpyandstrdup
The release notes describe the new features and bug fixes in detail. For full documentation on ORCA/C, please refer to the release notes along with the ORCA/C 2.2 manual and the readme.
This is an update package designed to be installed on top of an existing copy of ORCA/C 2.1 or later. Instructions on applying the update are available here. Note that the disk image must be treated as a hard drive image or high-density floppy image. If you need to use an 800KB floppy, place the SHK file on it instead of using the disk image.
If you need a full copy of ORCA/C, you can get it as part of the Opus ][ collection sold by Juiced.GS.