Commit graph

111 commits

Author SHA1 Message Date
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 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
David Given 612e14b4b4 Improve confusing error message when calling function procedures from a
top-level statement.

Fixes: #30
2017-01-08 11:25:57 +01:00
David Given ee5ef73dfb Run through clang-format. 2017-01-08 11:23:56 +01:00
David Given fd91851005 Add enough return types to the K&R C that the ACK builds (on Linux) using clang
now.
2016-11-10 22:04:18 +01:00
David Given f6c43b95ef Modula-2 now works.
--HG--
branch : dtrg-buildsystem
rename : lang/pc/build.mk => lang/m2/build.mk
rename : lang/pc/libpc/build.mk => lang/m2/comp/build.mk
rename : lang/pc/libpc/build.mk => lang/m2/libm2/build.mk
2013-05-14 22:24:38 +01:00
dtrg 26b17074a1 Rationalised use of #includes to be more standards-compliant. 2006-07-26 17:10:30 +00:00
ceriel 1592c3638c Moved TryToString call into ChkAssCompat 1996-06-06 07:47:00 +00:00
ceriel 7f7f5f187f Fix: compatibility check in RETURN statement 1996-06-06 07:37:02 +00:00
ceriel d0288b673b Some improvements 1995-12-19 09:30:48 +00:00
ceriel 1db6a3029b Header --> Id 1994-06-24 14:02:31 +00:00
ceriel 75afbd450b Fixed problem with the IN operator 1993-11-19 09:53:47 +00:00
ceriel c89c0d2c01 Changed debugging information to also work for Solaris 2 1993-11-10 12:44:24 +00:00
ceriel 2da0d6f886 Fixed bug: temporary local was used more than once 1992-05-11 11:30:04 +00:00
ceriel fa0bee0b26 Do not use '#endif/#else xxx'; it is not allowed for ANSI C 1991-12-17 14:36:35 +00:00
ceriel 1da2103504 Delinted a bit 1991-04-25 16:47:47 +00:00
ceriel 5ebc2017a0 Do not use the allocation mechanism for the desig structure; overkill 1991-03-14 11:10:40 +00:00
ceriel 52842cd09a Cleaned up a bit 1991-03-13 13:49:56 +00:00
ceriel 0a517b9256 Changes to make node structure smaller, and cleaned up a bit 1991-03-12 16:52:00 +00:00
ceriel c863c96023 Made use of C_insertpart dependant on compile-time flag 1991-02-19 16:22:41 +00:00
ceriel c40ca6ebbd Made ability for -g dependant on compile-time flag 1991-02-18 17:18:36 +00:00
ceriel 282d93dde0 Fixed problems with -I and with value conformant arrays 1990-09-27 17:01:01 +00:00
ceriel 2a26b4d335 avoid double LINs and corrected bug in symbol table entries for records 1990-08-22 15:33:43 +00:00
ceriel 8eecdff85a added support for debugger 1990-07-30 15:56:25 +00:00
ceriel ec3d8bb5aa fix: filename label sometimes turned up as external 1989-04-14 18:25:39 +00:00
ceriel 944c818096 Corrected some warnings a bit 1989-04-11 14:34:21 +00:00
ceriel 4e21aced73 bug fix in WITH statement: called WalkDesignator instead of ChkDesig 1989-03-22 11:07:21 +00:00
ceriel 3a3b5db45d made the previous changes in parameter passing mechanism and return
value mechanism settable with compile time constants
1989-03-22 09:53:47 +00:00
ceriel f9b6acf1dc New version with different parameter passing mechanism and some
minor fixes
1989-03-20 13:32:06 +00:00
ceriel 21a8f93bc7 adapted for larger function result area 1989-03-14 15:36:33 +00:00
ceriel c81a6a0c7a better warnings for unused/undefined parameters 1989-03-13 15:04:05 +00:00
ceriel 162b824030 Changed method for returning big values; Instead of using a chunk of
global data area, caller creates space on the stack just above parameters
to store the result
1989-03-10 10:40:07 +00:00
ceriel 73ac23824b changed error messages, initialize bss with funny value, and be
somewhat more conservative with memory usage
1988-11-28 12:54:38 +00:00
ceriel 982138b8da another minor problem fixed: only test on options['R'] once
in a FOR statement!
1988-11-23 13:10:57 +00:00
ceriel f1245e2e00 fixed some problems:
- removed null-reference in illegal use of pointers in constant expressions
- FOR-loops that count downwards did not work
- POINTER TO mechanism changed; works better now
1988-11-15 14:45:59 +00:00
ceriel b90690ba5d Changed translation of FOR-statement: now, if it is executed 0
times, the loop-control-variable is not assigned to
1988-11-04 13:12:14 +00:00
ceriel d418617de6 new version number 1988-11-04 10:24:34 +00:00
ceriel a7a80689bf Only generate FIL when needed 1988-10-25 17:43:19 +00:00
ceriel ce0ec1c143 delinted somewhat 1988-10-13 15:43:23 +00:00
ceriel 8f9818c385 Added short-hand for C_cal+C_asp, made interface new_stackptr cleaner 1988-06-13 10:29:36 +00:00
ceriel d1c9c94493 generate message about parameter count 1988-04-15 17:29:02 +00:00
ceriel 54bfaff625 Added a mechanism to test pointers as soon as possible 1988-04-11 18:32:47 +00:00
ceriel 2be8437d73 identifiers may not contain two consecutive underscores, and a fix 1988-03-31 16:09:53 +00:00
ceriel 7f9fd963fd many minor mods 1988-03-23 17:44:25 +00:00
ceriel e71df15045 made to fit on PDP-11 again 1988-03-22 17:54:01 +00:00
ceriel dea657a673 too many changes: some cosmetic; some for 2/4; some for added options 1988-03-21 17:43:54 +00:00
ceriel 78926a5a84 fix typo and parameters of overflow 1988-03-08 10:35:53 +00:00
ceriel 5cf3fc1017 some minor mods, mostly for better line number tracking 1988-03-08 10:18:58 +00:00
ceriel a22ab5c7b7 better error message 1988-01-28 16:54:33 +00:00
ceriel 16e381031b improved filename and linenumber generation 1988-01-28 16:15:16 +00:00