Stephen Heumann
955ee74b25
Evaluate 64-bit comparisons in constant expressions.
2021-02-16 23:11:41 -06:00
Stephen Heumann
d66f6b27b7
Evaluate arithmetic and shifts in long long constant expressions.
...
This winds up calling functions for these operations in ORCALib, so an up-to-date version of that must now be available to build the ORCA/C compiler.
2021-02-14 20:39:35 -06:00
Stephen Heumann
ffe6c4e924
Spellcheck comments throughout the code.
...
There are no non-comment changes.
2020-01-29 17:09:52 -06:00
Stephen Heumann
4cff395745
Move some code from the blank segment to named load segments.
...
This frees up some space in the blank segment for more static data.
2017-10-21 20:36:21 -05:00
Stephen Heumann
0cf948e3bd
Fix to make statically-evaluated unsigned comparisons evaluate to 1 if true.
...
Previously, they evaluated to -1. The following example shows the problem:
#include <stdio.h>
int main(void)
{
printf("%i\n", 0U <= 5U);
}
2017-10-21 20:36:21 -05:00
Stephen Heumann
f4ad0fab80
Fix bug in unsigned 32-bit division and remainder routines, which could cause mis-evaluation of constant expressions.
...
The following example shows cases that were mis-evaluated:
/* Should print "3 10000" */
#include <stdio.h>
int main(void)
{
printf("%lu %lu\n", 100000ul / 30000ul, 100000ul % 30000ul);
}
2017-10-21 20:36:21 -05:00
Stephen Heumann
46b6aa389f
Change all text/source files to LF line endings.
2017-10-21 18:40:19 -05:00
mikew50
e72177985e
ORCA/C 2.1.0 source from the Opus ][ CD
2017-10-01 17:47:47 -06:00