f9d7017687
For conversion to signed long long, we can almost just use SANE's FX2C call to convert it to comp. But LLONG_MIN corresponds to the bit pattern of the comp NaN, so it has to be treated specially. (You might think SANE would return the comp NaN when converting out-of-range values, which would give the value we want, but somewhat strangely it does not.) For conversion to unsigned long long, we check if the value is greater than LLONG_MAX (which is also the max comp value). If so, we subtract LLONG_MAX+1 from the floating-point value before conversion and add it back in to the integer afterward. |
||
---|---|---|
obj | ||
LICENSE | ||
README.md | ||
assert.asm | ||
assert.macros | ||
backup | ||
cc.asm | ||
cc.macros | ||
ctype.asm | ||
equates.asm | ||
fcntl.asm | ||
fcntl.macros | ||
int64.asm | ||
int64.macros | ||
m16.int64 | ||
make | ||
orca.asm | ||
orca.macros | ||
setjmp.asm | ||
signal.asm | ||
signal.macros | ||
smac | ||
stdio.asm | ||
stdio.macros | ||
stdlib.asm | ||
stdlib.macros | ||
string.asm | ||
string.macros | ||
time.asm | ||
time.macros | ||
toolglue.asm | ||
toolglue.macros | ||
vars.asm | ||
vars.macros |
README.md
ORCALib
Libraries for the ORCA language suite (ORCA/C, ORCA/M, ORCA/Pascal) for the Apple IIGS
If you would like to make changes to this compiler and distribute them to others, feel free to submit them here. If the changes apply to the Apple IIGS, they will generally be approved for distribution on the master branch. For changes that retarget the library to generate code for a different platform, the project will either be forked or a new repository will be created, as appropriate.
The general conditions that must be met before a change is released on master are:
-
The modified library must compile under the currently released version of ORCA/M.
-
The various languages that make use of the library mush still pass their respective test suites, or changes to those test suites must also be submitted.
Contact support@byteworks.us if you need contributor access.
A complete distribution of the ORCA languages, including installers and documentation, is available from the Juiced GS store at https://juiced.gs/store/category/software/. It is distributed as part of the Opus ][ package.