Releases: byteworksinc/ORCA-C
ORCA/C 2.2.0
ORCA/C 2.2.0 is a new release of the ORCA/C compiler for the Apple IIGS. Major changes since ORCA/C 2.1.0 include:
- Added support for almost all language and library features required by the C17 standard
- Improved lint checks and debugging features to help detect errors
- New command-line options for pre-include files and C standard selection
- Improvements to generated code
- Auto-segmenting linker
- Hundreds of bug fixes
- And more
The ORCA/C manual has been fully updated to describe the new features. A readme file and detailed release notes are also available.
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.
ORCA/C 2.2.0 B7
This ORCA/C update contains various enhancements and bug fixes. Additions since ORCA/C 2.2.0 B6 include:
- Support for new language features from C99 and C11
- Designated initializers
- Anonymous structures and unions
_Pragma
preprocessing operator__STDC_VERSION__
macro- C99-compliant
inline
semantics (but no actual inlining) - C11-compliant
_Thread_local
specifier (but no multithreading)
- Other compiler features
- C standard selection, including strict conformance modes
- Debugging option to detect illegal use of null pointers
- Lint check for unused variables
- Lint check for implicit conversions that change constant values
- Small improvements to compiler performance and generated code
- New library features
- Optional support for time zone handling using the Time Tool
timespec_get
functionerf
,erfc
,fma
, andtgamma
math functions
- Auto-segmenting linker
- Various bugs fixed
ORCA/C 2.2.0 B7 supports nearly all the features required by C17, apart from wide character support and some floating-point library features.
For installation instructions, see the readme. For details on what has changed, see the release notes.
This is an update package designed to be installed on top of an existing copy of ORCA/C 2.1 or later. 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.
ORCA/C 2.2.0 B6
This ORCA/C update contains various enhancements and bug fixes. Additions since ORCA/C 2.2.0 B5 include:
- Support for new language features from C99 and C11:
- Compound literals
- Hexadecimal floating-point constants
- Unicode strings and characters in code
- Type qualifiers or
static
in the declarations of array parameters
- Support for new library features, mainly from C99 and C11:
- Unicode conversion functions
- Many new
<math.h>
functions from C99 strftime
function for formatting date/time stringsva_copy
macro for copying variable arguments- Minimalistic implementation of locale functions (supporting the
"C"
locale only)
- Option to use a custom pre-include file
- Option to print file names in error messages
- Option to disable non-standard ORCA/C keywords (so they can be used as identifiers)
- Numerous bugs fixed
For installation instructions, see the readme. For details on what has changed, see the release notes.
This is an update package designed to be installed on top of an existing copy of ORCA/C 2.1 or later.
ORCA/C 2.2.0 B5
This ORCA/C update contains various enhancements from community members. Changes since ORCA/C 2.2.0 B4 include:
- Support for new language and library features from C99 and C11:
- The 64-bit integer types
long long
andunsigned long long
- The boolean type
_Bool
and the<stdbool.h>
header - Generic selection expressions using the
_Generic
keyword - Predefined identifier
__func__
giving the function name - Floating-point environment access via
<fenv.h>
- Floating-point classification macros in
<math.h>
- The 64-bit integer types
- Floating-point constants and constant expressions are now evaluated with extended precision
- Option for stricter type checking as required by the C standards
- Numerous bugs fixed
For installation instructions, see the readme. For details on what has changed, see the release notes.
This is an update package designed to be installed on top of an existing copy of ORCA/C 2.1 or later.
ORCA/C 2.2.0 B4
This ORCA/C update contains various enhancements from community members. Changes since ORCA/C 2.2.0 B3 include:
- Support for several new language features from C99 and C11:
restrict
,_Static_assert
,_Noreturn
,_Alignof
, and_Alignas
keywords- digraphs and universal character names
- macros that take a variable number of arguments
quick_exit()
,at_quick_exit()
, andaligned_alloc()
library functions added (from C11)- New lint checks for syntax disallowed by C99 and for non-
void
functions not returning a value - Option for
#pragma lint
messages to be treated as warnings rather than errors - Numerous bugs fixed
For installation instructions, see the readme. For details on what has changed, see the release notes.
This is an update package designed to be installed on top of an existing copy of ORCA/C 2.1 or later.
ORCA/C 2.2.0 B3
This ORCA/C update contains various enhancements from community members. Changes include:
- Numerous bugs fixed
- Several C99 language features supported, including mixed statements and declarations
- Partial support for the new C99 features in
printf()
andscanf()
- New lint checks to catch errors in
printf()
/scanf()
format strings
For installation instructions, see the readme. For details on what has changed, see the release notes.
This is an update package designed to be installed on top of an existing copy of ORCA/C 2.1 or later.
ORCA/C 2.2.0 B2
This ORCA/C update contains various patches from community members. Changes since ORCA/C 2.1 include:
- Numerous bugs fixed
- Several new language features (largely from C99) are supported
- The
<stdint.h>
,<inttypes.h>
, and<iso646.h>
headers are included - Can now generate inline function names for use with assembly-level debuggers
Compared to ORCA/C 2.2.0 B1, this beta contains additional bug fixes and adds an option for ignoring extra tokens after #endif
directives.
For installation instructions, see the readme. For details on what has changed, see the release notes.
This is an update package designed to be installed on top of an existing copy of ORCA/C 2.1 or later.
ORCA/C 2.2.0 B1
This ORCA/C update contains various patches from community members. Significant changes include:
- Numerous bugs fixed
- Several new language features (largely from C99) are supported
- The
<stdint.h>
,<inttypes.h>
, and<iso646.h>
headers are included - Can now generate inline function names for use with assembly-level debuggers
For installation instructions, see the readme. For details on what has changed, see the release notes.
This is an update package designed to be installed on top of an existing copy of ORCA/C 2.1.x.