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
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
f8fc5bc3d8
Implement single-line C++-style comments.
...
Fixes : #118
2018-09-02 12:14:59 +02:00
David Given
788f439a48
Run files through clang-format before editing.
2018-09-02 11:16:06 +02: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
1ad085cfb8
Also skip lint comments in skip_block()
1993-06-09 09:40:54 +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
b503d85d23
If NOPP is defined, do not do trigraph translation; cpp does it
1991-08-09 13:57:13 +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
eck
7536a1f510
fixed two preprocessing bugs
1990-11-13 16:50:55 +00:00
eck
5ed44e3432
fixed error with # && ##-operators in non function-like macro's
...
pass printable garbage characters on to parser
1990-09-13 15:12:13 +00:00
eck
7f5abdd670
fixed int to unsigned conversions, declarations, pp-list initialization
1990-07-13 10:18:27 +00:00
eck
dc12b2fa3d
warn about ptrdiff_t passed as long on 2-4 machines
1990-04-25 15:09:51 +00:00
eck
84b8c8a6ca
improved volatiles, added warning for possibly nested comments
1990-04-02 15:57:51 +00:00
eck
d7d56d2cbb
fixed bug with 0L; don't give warning on char x[3] = "abc"
1990-02-09 10:35:44 +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
ceriel
a1f5834052
use normal C compiler
1989-12-19 11:07:03 +00:00
eck
bdb0b550f7
U-flag was not handled properly
1989-12-12 14:59:59 +00:00
eck
b3a142e244
fixed null-pointer constants and SkipToNewLine()
1989-12-12 12:52:03 +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
ceriel
0f8516f861
use more simple hashing algorithm, made namelist generation dependant on a #define
1989-10-26 16:16:35 +00:00
ceriel
4a5a463e44
improved handling of , (comma) operator and some more Minix squeezing
1989-10-23 13:50:27 +00:00
ceriel
e4857c2446
many minor modifications (it still will not fit on Minix!)
1989-10-19 14:53:25 +00:00
eck
8ff400fd0f
squeezing for MINIX
1989-10-18 13:12:31 +00:00
eck
fd259c398c
fltcstoper.c addded to Repository
1989-10-13 11:04:42 +00:00
ceriel
10b58a8520
The InputLevel variable only exists when NOPP is not defined
1989-10-12 14:22:35 +00:00
eck
4bde31f78a
minor changes concerning void and pre-processor
1989-09-29 16:20:38 +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