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