Commit graph

31 commits

Author SHA1 Message Date
carl 9f29c76c74 + Have the DEBUG version compile 2019-03-17 22:46:31 +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
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
George Koehler 87a2315037 strcmp, strncmp are in <string.h>
*Important:*  Do `make clean` to work around a problem and prevent
infinite rebuilds, https://github.com/davidgiven/ack/issues/68

I edit tokens.g in util/LLgen/src, so I regenerate tokens.c.  The
regeneration script bootstrap.sh can't find LLgen, but I can run the
same command by typing the path to llgen.
2017-11-14 17:35:35 -05:00
George Koehler 3463f0c944 bts2str(), long2str() are in <ack_string.h> 2017-11-10 18:00:00 -05: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
dtrg 611bc73043 Changed to no longer include /usr/include by default. 2007-02-20 00:36:15 +00:00
dtrg 014be56fb0 Replaced calls to the custom strindex() and strrindex() functions with the
exactly equivalent and standard strchr() and strrchr() functions instead.
2006-07-23 20:01:02 +00:00
ceriel 8636e9d10a Changed Header into Id 1994-06-27 08:03:14 +00:00
ceriel 37ab68909b Added void for some functions 1993-11-10 12:42:25 +00:00
ceriel 4d1b0d3486 A fix: make error_type usable as function type; prevents core dump on some inputs 1993-05-14 12:01:14 +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 9f43986877 ANSI requires separate name space for labels, and made to use idf module 1991-06-19 16:12:56 +00:00
ceriel 81e80b2cd8 Changed implementation of dependency generator 1991-01-17 17:49:27 +00:00
dick 495a037714 lint update (merge from C compiler) 1990-12-07 14:42:26 +00:00
eck b4f97588b7 fixed bug with undefined structs
ceriel changed debugging information
1990-10-19 11:50:32 +00:00
ceriel 41e3cf403b Added support for debugger, de-linted somewhat 1990-10-01 15:28:28 +00:00
ceriel f234f061a1 Added dependency generator, reduced size of type structure 1990-06-08 10:03:47 +00:00
eck 9a5ac60946 changed target_sizes.h to trgt_sizes.h 1990-03-12 13:35:26 +00:00
eck 721005b4d7 big fix for #include in macro argument 1990-01-26 14:59:50 +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 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 fa4e6eecb4 lots and lots of changes & improvements 1989-09-19 16:13:23 +00:00
ceriel f7790b0e8e empty string in directory list now means current directory 1989-02-16 11:46:39 +00:00
ceriel 926da49d39 Initial revision 1989-02-07 11:04:05 +00:00