David Given
3131dc9915
Partially working port of stdio to CP/M. I'm not sure this will work; it's
...
getting way too complicated (stdio is horribly subtle). I think I need to
rethink things.
2019-06-15 22:22:01 +02:00
David Given
1387c8713b
Now that printf and scanf contain no FILE*-specific code, we can move them into
...
core (and split them up).
2019-06-15 13:53:20 +02:00
David Given
9109d7af7f
First stage in modularising FILE*. Refactor so that printf/scanf don't rely on
...
FILE* innards; allow plats to replace the entire emulated FILE* system.
2019-06-15 13:07:10 +02:00
carl
cb65e6426c
Memory overflow bugfix
2019-05-14 23:14:59 +08:00
carl
e8243402be
Move to use C structures instead of typedef to align with other ACK compilers and to avoid forward declaration issues with include files.
2019-05-11 01:09:03 +08:00
carl
72dcbea3c6
Add missing C compiler command line option.
2019-05-11 01:07:33 +08:00
carl
e2d2c11a6e
Fix some compiler warnings.
2019-05-11 01:07:00 +08:00
carl
e533626413
- Remove rcsid tag.
...
+ ANSI C conversion.
2019-05-11 01:06:36 +08:00
carl
9f29c76c74
+ Have the DEBUG version compile
2019-03-17 22:46:31 +08:00
David Given
c59eae1429
Don't buffer overflow when trying to process source bytes with the high bit
...
set.
2019-03-11 13:50:30 +00:00
carl
8f6073d446
+ Better type checking in function tables.
2019-03-02 01:44:16 +08:00
carl
3867cfdaca
+ M2 Compiler ISO C90 compatibility
...
* Fixing of potential crash issue with function tables in compiler.
+ SYSTEM.h is now renamed to SYSTEMM2.h to avoid conflicts on non case sensitive filesystems.
2019-03-02 01:44:16 +08:00
carl
5f9a199257
CPP ISO C90 compatibility and conversion.
2019-03-02 01:44:16 +08:00
carl
f371f452b5
Basic compiler is now ISO C90 compliant.
2019-03-02 01:44:16 +08:00
carl
9fab867333
Fix issue again with wrong macro on error.
2019-02-26 00:46:10 +08:00
carl
bd52b1f8f5
* Fix more tabs.
2019-02-26 00:44:52 +08:00
carl
e233db6dc0
* Convert spaces -> tabs to keep consistency with existing code.
2019-02-24 01:15:23 +08:00
carl
f74b29d303
* Remove some more compiler warnings.
2019-02-24 00:46:05 +08:00
carl
9622898131
Bugfix of fprint using correct output redirection (fix from last commit).
2019-02-24 00:45:35 +08:00
carl
41cb541e7e
Pascal compiler better type checking and function declarations (Better ISO C compatibility)
2019-02-24 00:44:50 +08:00
carl
f7ba3eec50
Remove CMake changes and generic sed scripts so they are move to a separate branch.
2019-02-21 00:43:04 +08:00
carl
9ca8f42930
+ Add missing files.
2019-02-20 00:32:19 +08:00
carl
750a6bc684
Better ANSI C compatibility and portability:
...
+ Addition of function prototypes and include files.
+ Change function definitions to ANSI C style.
+ Initial support for CMake
+ Scripts to generate compiler header is now sed based.
2019-02-19 00:54:23 +08:00
carl
fdf5da62d7
Better ANSI C compatibility and portability - part 1:
...
* Adapt to new sys_filesize prototype.
2019-02-19 00:54:23 +08:00
carl
796317e0e3
Better ANSI C compatibility and portability - part 1:
...
* Adapt to new sys_filesize prototype.
2019-02-19 00:54:23 +08:00
David Given
58698bed19
Removed a whole bunch of old strcpy() prototypes in favour of <string.h>.
2019-02-10 13:20:04 +01:00
David Given
24ffbe086a
Install the cpp.ansi man page. #82 .
2018-12-22 23:47:49 +01:00
David Given
436d50b54c
Create correctly sized csa descriptors in the Basic compiler.
2018-09-20 00:49:31 +02:00
David Given
79fd34dac6
Call atexit handlers properly, avoiding a NPE and seg fault every time a
...
program exits.
2018-09-09 18:51:00 +02:00
David Given
b76352de99
Remove stray #include.
2018-09-02 12:54:53 +02:00
David Given
cb983fac44
Rip out the built-in preprocessor from cemcom.ansi, now it's no longer used.
2018-09-02 12:50:50 +02:00
David Given
6931ffa5a4
Disable the built-in preprocessor in cemcom.ansi; the external preprocessor is
...
always run. Fix a bug in block skipping in the preprocessor.
2018-09-02 12:39:00 +02:00
David Given
f8fc5bc3d8
Implement single-line C++-style comments.
...
Fixes : #118
2018-09-02 12:14:59 +02:00
David Given
0e9736fdca
Run through clang-format before editing.
2018-09-02 12:04:33 +02:00
David Given
274ed3cb6a
Run through clang-format before editing.
2018-09-02 11:49:40 +02:00
David Given
dd00b81080
Run files through clang-format before editing.
2018-09-02 11:36:15 +02:00
David Given
788f439a48
Run files through clang-format before editing.
2018-09-02 11:16:06 +02:00
David Given
7971bdba5a
Warning-fixed and ansified the Modula-2 library.
2018-06-25 22:22:37 +02:00
David Given
f8ba7ef962
Move the Modula-2 library includes into a directory in lang/m2 where they belong.
2018-06-24 20:32:59 +02:00
David Given
1702d873ea
Warning-fix and protoise the basic library.
2018-06-24 00:35:51 +02:00
David Given
fd94e219d4
Remove the attic.
2018-06-23 23:16:22 +02:00
David Given
59dbdea48a
Move mktemp to sys; attic getgrent as noone will ever use this.
2018-06-23 23:15:42 +02:00
David Given
3f10299f43
Move the portable time code into core. clock() goes into sys (as it calls
...
times()).
2018-06-23 19:49:29 +02:00
David Given
64ae1d7583
Move time() into sys; change the name of the variable which controls it.
2018-06-23 19:40:50 +02:00
David Given
bb78fd158c
Move the big gnarly functions like system() and popen() into sys, and make them
...
build.
2018-06-23 19:18:16 +02:00
David Given
6a729b846a
Move stdio into (mostly) sys.
2018-06-23 18:54:40 +02:00
David Given
af22b7ea85
Change stdio to use atexit() rather than the internal __clean variable; this
...
breaks the dependency between exit/atexit and stdio. Buffers are no longer
flushed on abort() (because it's pretty risky). Move the relevant functions
into sys/core.
2018-06-23 18:35:45 +02:00
David Given
f744a21699
All the opendir()/readdir() stuff is obsolete because it's all implemented in
...
terms of open() and read(), which isn't how it's done any more; move the
functions into an attic.
2018-06-23 18:25:26 +02:00
David Given
df1cdf7762
Add the sys directory for libc functions which use system calls; move the
...
malloc functions in there.
2018-06-23 18:08:03 +02:00
David Given
c4e4505a73
Move the errno functions into core.
2018-06-23 17:52:15 +02:00