Commit graph

29 commits

Author SHA1 Message Date
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
George Koehler ca4bd38206 Delete old "assert.h" files; use libc <assert.h>.
Edit build.lua for programs losing their private assert.h, so they
depend on a list of .h files excluding assert.h.

Remove modules/src/assert; it would be a dependency of cpp.ansi but we
didn't build it, so cpp.ansi uses the libc assert.

I hope that libc <assert.h> can better report failed assertions.  Some
old "assert.h" files didn't report the expression.  Some reported a
literal "x", because traditional C expanded the macro parameter x in
"x", but ANSI C89 doesn't expand macro parameters in string literals.
2017-11-09 22:22:13 -05: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 c1aca7dae5 First milestone of replacing the build system.
--HG--
branch : dtrg-buildsystem
rename : lang/cem/cpp.ansi/Parameters => lang/cem/cpp.ansi/parameters.h
2013-05-12 20:45:55 +01:00
ceriel 8636e9d10a Changed Header into Id 1994-06-27 08:03:14 +00:00
ceriel eaa9dab166 Fixed infinite loop 1993-06-24 15:48:46 +00:00
ceriel a38be6605e Do not use '#endif/#else xxx'; it is not allowed for ANSI C 1991-12-17 13:12:22 +00:00
ceriel 240dd55fd9 Removed the id_enum macro and replaced id_struct by id_tag (better name) 1991-07-08 16:49:04 +00:00
ceriel 34d6b23ba6 Fixed two bugs:
- did not accept arrays in 'if (a) ...'
- did not detect too few parameters in functions with ellipsis prototypes
1991-07-01 14:10:15 +00:00
ceriel 9f43986877 ANSI requires separate name space for labels, and made to use idf module 1991-06-19 16:12:56 +00:00
dick 32eddf7846 undo modifications outside #ifdef LINT 1991-01-10 17:49:19 +00:00
dick 4a7ef15df2 more additions for lint 1991-01-07 12:33:38 +00:00
eck ccc5f10fca fixed bugs with storage-class and void in prototype 1990-12-17 13:08:05 +00:00
eck 0b35c31e5b fixed bug with function returning pointer to function 1990-12-04 11:09:34 +00:00
eck e144c7cc4c fixed bugs with prototype scopes 1990-09-12 16:36:16 +00:00
eck a3f1aaa41f don't free prototype lists, they might be part of a typedef 1990-04-10 10:14:46 +00:00
eck aa4de95f26 various bug fixes & improvements 1990-04-06 15:37:16 +00:00
eck b8d6eae391 fixed bug: tp_up is field in union; be more careful
give warning for struct/union declarations in prototypes
1990-01-18 16:58:53 +00:00
eck 00876cd9df added alloction dump
shrunk some data structures
changed some ALLOCDEF's
changed setjmp to __setjmp
1990-01-10 17:33:35 +00:00
eck 96da16ce33 fixed bugs, added dynamic buffer allocation to preprocessor 1989-11-22 13:58:36 +00:00
ceriel 67f9f2a74f many little changes: removed some lint complaints; max_int and max_unsigned
are now constants if NOCROSS is defined; added lexstrict and expr_strict,
and changed calls where needed
1989-11-08 16:52:34 +00:00
eck 480de7cafb fixed some bugs, changed warning interface 1989-10-27 13:33:10 +00:00
ceriel 352c5c581b some more Minix squeezing 1989-10-20 16:16:06 +00:00
eck b6a7d4fa0f Minix again 1989-10-20 13:06:10 +00:00
ceriel e4857c2446 many minor modifications (it still will not fit on Minix!) 1989-10-19 14:53:25 +00:00
eck 00027d3893 some minor fixes, renamed ch7 stuff to ch3 1989-09-25 14:28:10 +00:00
eck fa4e6eecb4 lots and lots of changes & improvements 1989-09-19 16:13:23 +00:00
ceriel 0bc88b77b2 fixed several problems:
- hex numbers and floating point numbers were wrong
- grammar was wrong; did not accept correct ANSI C
- prototype updates did not work
- float parameters to routines without prototype were not upgraded to double
- the dot operator no longer requires lvalue as left-hand-side
1989-02-07 13:16:02 +00:00
ceriel 926da49d39 Initial revision 1989-02-07 11:04:05 +00:00