Commit graph

1136 commits

Author SHA1 Message Date
David Given
a200a2fb53 Replaced the funky and hard-to-compile ACK malloc with a much smaller
and simpler one stolen from K&R. libc builds now.
2016-08-11 00:30:32 +02:00
David Given
3ce4e53aa9 Most of libc builds now (missing malloc). 2016-08-08 23:55:47 +02:00
David Given
0d77cb8279 We can build our first C file. 2016-08-07 21:56:53 +02:00
David Given
b50dc4214a Add check for undefined variables. Find undefined variables. Fix undefined
variables.
2016-08-05 00:01:55 +02:00
David Given
5e84be70fd Massive ackbuilder refactor --- cleaner and more expressive. Lists
are automatically flattened (leading to better build files), and the
list and filename functions are vastly more orthogonal.
2016-08-04 23:51:19 +02:00
David Given
b2bb4ce3b2 Builds libend (the simplest library). Becoming obvious I need to rework the way
ackbuilder deals with lists.
2016-07-30 00:39:22 +02:00
David Given
363d13cc2f C preprocessor; tabgen; now the pc86 boot.s builds using the ack
toolchain.
2016-07-29 00:22:49 +02:00
David Given
2770a83837 More programs, more libraries. src/modules build files are now saner. 2016-07-23 00:30:31 +02:00
David Given
1fdc69fb97 cemcom.ansi now builds. 2016-07-19 23:43:14 +02:00
David Given
2d2497c318 ackbuilder rules files now require absolute paths in external variables
(otherwise commands which change directory don't work).
2016-07-18 23:16:27 +02:00
David Given
bcf3408e36 More stuff builds; almost the C compiler now. 2016-07-14 23:54:13 +02:00
David Given
88bd7ce126 Remove defunct pmfiles.
--HG--
branch : default-branch
2016-06-03 13:56:50 +02:00
David Given
391cb0f2cd Fix checkin into wrong hg branch.
--HG--
branch : default-branch
2016-03-17 20:53:45 +01:00
David Given
863b610144 Fix use-after-free. 2016-03-17 20:52:27 +01:00
David Given
ff0c78cc78 Merge from default.
--HG--
branch : dtrg-videocore-branch-branch
2016-03-13 21:13:09 +01:00
David Given
3d5e72e20b Newer versions of GNU Make have a new function which collides with a
variable we're using; change the name of the variable.
2015-03-22 12:09:46 +01:00
David Given
d94c1c8150 Updated distr files.
--HG--
branch : dtrg-videocore
rename : mach/i80/.distr => mach/vc4/.distr
rename : plat/cpm/.distr => plat/rpi/.distr
2013-06-21 23:38:21 +01:00
David Given
55be35a68a Add a stub malloc.h.
--HG--
branch : dtrg-videocore
rename : lang/cem/libcc.ansi/headers/stdlib.h => lang/cem/libcc.ansi/headers/malloc.h
2013-06-20 00:15:14 +01:00
David Given
d273497077 Add some missing libc functions: setenv, unsetenv, strdup.
--HG--
rename : lang/cem/libcc.ansi/stdlib/getenv.c => lang/cem/libcc.ansi/stdlib/setenv.c
rename : lang/cem/libcc.ansi/string/strlen.c => lang/cem/libcc.ansi/string/strdup.c
extra : source : 64d6e6eec18d76bf8f3947ec5d171db94acdb282
2013-05-29 21:41:58 +01:00
David Given
074b42aa97 Add some missing libc functions: setenv, unsetenv, strdup.
--HG--
branch : dtrg-videocore
rename : lang/cem/libcc.ansi/stdlib/getenv.c => lang/cem/libcc.ansi/stdlib/setenv.c
rename : lang/cem/libcc.ansi/string/strlen.c => lang/cem/libcc.ansi/string/strdup.c
2013-05-29 21:41:58 +01:00
David Given
f522aba4af Add support for snprintf and vsnprintf. Try and make the return value a bit
more standards-compliant.

--HG--
extra : source : a19eb606871f918e3d9e195b487b5276855edc8e
2013-05-29 17:10:58 +01:00
David Given
69953d016c Add support for snprintf and vsnprintf. Try and make the return value a bit
more standards-compliant.

--HG--
branch : dtrg-videocore
2013-05-29 17:10:58 +01:00
David Given
d3e3e72860 Update from trunk.
--HG--
branch : dtrg-videocore
2013-05-29 15:03:48 +01:00
David Given
98e745d04c Fix awful bug where uint32_t was sometimes defined as a short.
--HG--
branch : dtrg-videocore
2013-05-25 00:33:01 +01:00
David Given
c18a82ec40 Apply build system fixes for OpenBSD contributed by George Koehler. 2013-05-18 12:15:53 +01:00
David Given
11377070fd Update distribution files.
--HG--
branch : dtrg-buildsystem
2013-05-15 23:46:15 +01:00
David Given
07453d184a Top, topgen, aelflod. Moved the libraries back into the platform-specific
directories --- wrangling descr files was too hard. C programs can be built
for cpm, pc86, linux386, linux68k!

--HG--
branch : dtrg-buildsystem
rename : util/ack/build.mk => util/led/build.mk
rename : util/LLgen/build.mk => util/topgen/build.mk
2013-05-13 23:26:15 +01:00
David Given
af0dedeb6e Fix typo.
--HG--
branch : dtrg-buildsystem
2013-05-13 11:14:10 +01:00
David Given
b0c238eb5d Made a start on building the runtimes for each platform and language; the
Linuxes all build.

--HG--
branch : dtrg-buildsystem
rename : modules/src/em_mes/build.mk => modules/src/read_em/build.mk
rename : plat/pc86/build.mk => plat/linux386/build.mk
rename : plat/pc86/build.mk => plat/linux68k/build.mk
rename : plat/pc86/build.mk => plat/linuxppc/build.mk
rename : util/ack/build.mk => util/misc/build.mk
2013-05-12 23:51:55 +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
George Koehler
7ef9b79c11 Merge deletion of many undead files. 2012-09-23 15:31:16 -04:00
George Koehler
0131ca4d46 Delete 689 undead files.
These files "magically reappeared" after the conversion from CVS to
Mercurial.  The old CVS repository deleted these files but did not
record *when* it deleted these files.  The conversion resurrected these
files because they have no history of deletion.  These files were
probably deleted before year 1995.  The CVS repository begins to record
deletions around 1995.

These files may still appear in older revisions of this Mercurial
repository, when they should already be deleted.  There is no way to fix
this, because the CVS repository provides no dates of deletion.

See http://sourceforge.net/mailarchive/message.php?msg_id=29823032
2012-09-20 22:26:32 -04:00
George Koehler
800d4ae032 Fix cemcom.ansi for 64-bit hosts.
Hosts with sizeof(arith) == sizeof(long) == 8 need to set full_mask[1]
through full_mask[8].  Because MAXSIZE == 8, we only had full_mask[0]
through full_mask[7].  This fix declares arith full_mask[MAXSIZE + 1]
and prevents a fatal error: "array full_mask too small for this machine"
2012-09-07 15:53:13 -04:00
dtrg
075cb488a3 Call the correct kill() and getpid() syscalls rather than _kill() and _getpid(). 2010-10-02 21:51:40 +00:00
dtrg
51b41f72f8 Invoke genfiles explicitly with sh --- CVS doesn't store executable bits. 2010-08-01 10:35:33 +00:00
dtrg
54ce3f451b Configured distr system for the 6.0pre3 release. 2007-04-29 23:09:24 +00:00
dtrg
9d0f0a8fdd Disabled the code to throw signals on EM traps; this is the platform's job (and requires working signal support, which we may not have). 2007-04-29 20:46:48 +00:00
dtrg
013f58f94e Added the stdint.h header file. 2007-04-27 22:42:02 +00:00
dtrg
0d8578410c Cleaned up and enabled the support for conditionally emitting the floating-point stdio code. 2007-04-27 22:41:39 +00:00
dtrg
24ea8aee3d Updated for the 6.0pre2 release. 2007-04-24 20:45:58 +00:00
dtrg
bfeb736c35 Stripped down the library to something approaching the ANSI C minimum and replaced most of the header files, to provide a reasonably consistent base to work up from. 2007-04-24 19:42:24 +00:00
dtrg
1c83baa702 Adapted for ANSI C and our pseudo-Posix syscall interface. 2007-04-21 23:18:14 +00:00
dtrg
b66d66b597 Fixed a bug where the preprocessor would occasionally lose whitespace at the beginning of lines immediately after a #endif, which was confusing the assembler. 2007-04-21 23:10:13 +00:00
dtrg
d77b4ce97c Renamed the language libraries and runtimes to have more
conventional names.
2007-02-26 22:36:56 +00:00
cvs2hg
2d80c1d2c8 fixup commit for tag 'release-6-0-pre-1' 2007-02-25 22:49:23 +00:00
dtrg
b611731ec3 Updated .distr files for the new release. 2007-02-25 12:51:55 +00:00
dtrg
f05f9de3ed Moved sys/timeb.h from include/_tail_mon. 2007-02-25 12:44:13 +00:00
dtrg
5c5f711cbb Done a major overhaul of the way target include files are installed and
how platform libraries are built. The ARCH pm variable has now been
renamed PLATFORM (which is more accurate) and a different ARCH
variable added, which represents the CPU family rather than the
hardware platform.
2007-02-20 00:46:10 +00:00
dtrg
611bc73043 Changed to no longer include /usr/include by default. 2007-02-20 00:36:15 +00:00
dtrg
f9ddb860a9 Fixed some reentrant comments. 2007-02-20 00:35:37 +00:00
dtrg
dbe10d2c19 Updated to the version 0.1 of Prime Mover (which involves some syntax changes). 2006-10-15 00:28:12 +00:00
dtrg
708a83ef22 ack expects the tail_ libraries not to have the .a extension. 2006-07-30 23:45:48 +00:00
dtrg
606012371e Added support for the ANSI C language runtime and preprocessor. 2006-07-30 23:45:18 +00:00
dtrg
45b4fef7d6 Rationalised use of #includes to be more standards-compliant. 2006-07-30 23:40:35 +00:00
dtrg
67733b9d3c Added the correct shell script magic. (Some platforms insist on this.) 2006-07-30 23:37:15 +00:00
dtrg
c1725577a7 Worked around a mysterious preprocessor oddness causing some
crucial whitespace to be removed.
2006-07-30 23:36:19 +00:00
dtrg
7826e03427 Added support for the K&R C language runtime. 2006-07-27 22:51:38 +00:00
dtrg
8558656665 Now avoids piping shell scripts into a new instance of sh, instead
using a subshell.
2006-07-26 12:29:47 +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
dtrg
097c640a6c First version in CVS. 2006-07-20 23:24:28 +00:00
dtrg
b6757337b3 Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.) 2006-07-19 10:30:26 +00:00
dtrg
e859ef2491 Rationalised use of #includes to be more standards-compliant. 2006-07-19 10:28:43 +00:00
dtrg
4cb0ab8a63 Rationalised use of #includes to be more standards-compliant. 2006-07-18 18:05:47 +00:00
dtrg
454bdae81f Added the appropriate #! magic at the beginning of shell scripts. (Some modern shells don't like scripts to be without it.) 2006-07-18 16:45:57 +00:00
cvs2hg
5cb054f106 fixup commit for tag 'llgen-1-0' 2006-02-04 00:57:05 +00:00
dtrg
9bc8c07deb Replaced references to /usr/tmp with references to /tmp. 2005-06-24 22:08:47 +00:00
ceriel
df46c5e165 Fix for union initializers 2001-07-03 10:10:56 +00:00
ceriel
910316cfde Fix: parameter name same as function name not dealt with properly 2001-07-03 08:55:16 +00:00
ceriel
91cb060d10 Replaced a couple of UnGetChar calls with ChPushBack calls. The
UnGetChar call is wrong after skipspaces().
1998-02-09 09:49:00 +00:00
ceriel
4ec7d8bf7f Bug fix: copied wrong size to destination in structure returns 1997-07-01 08:33:13 +00:00
ceriel
6db931eee6 Link em_data.a as well (needed when producing readable EM 1997-04-01 13:58:58 +00:00
ceriel
99ac23b4b4 Additions for non-correcting error recovery 1997-02-21 17:11:04 +00:00
ceriel
6ec3dd7ebd fix in flushbuf: make sure it does not return EOF when it actually succeeds 1996-04-24 13:06:00 +00:00
ceriel
73b54a2326 fixed bug with %[] in doscan.c 1996-04-01 09:08:59 +00:00
ceriel
3895a59e03 Fix to fix in idf.c 1996-02-19 12:19:47 +00:00
ceriel
67cb729554 Fixed bug: crashed when parameter has same name as function 1995-12-20 09:58:56 +00:00
ceriel
7442852cad Removed unclear test 1995-12-18 11:02:18 +00:00
ceriel
d224889b8d removed Makefile 1995-12-06 13:26:03 +00:00
ceriel
a6ea80436b removed Makefile, added README 1995-12-06 13:25:23 +00:00
ceriel
0ea8200a57 added file 1995-12-06 13:23:09 +00:00
ceriel
4a5e3f42d3 removed 1995-12-06 13:21:54 +00:00
ceriel
550095a5d0 Removed Version.c 1995-12-06 09:52:54 +00:00
ceriel
0a643bb9d0 Improved the pow() function to give more exact results 1995-12-05 12:29:36 +00:00
ceriel
812b6f2158 Fixed obscure bug in setvbuf 1995-12-04 17:11:54 +00:00
ceriel
c97f79454d Fixed a bug with local character arrays initialized with a string 1995-11-15 09:42:25 +00:00
ceriel
29e457c381 Fix by Charles Lindsey 1995-09-25 08:09:55 +00:00
ceriel
4c73887050 use stdarg when compiling with ANSI C compiler 1995-08-17 16:51:09 +00:00
ceriel
7b207deeb7 use stdarg when compiling with ANSI C compiler 1995-08-17 16:43:36 +00:00
ceriel
53eb117563 use stdarg when compiling with ANSI C compiler 1995-08-17 16:34:29 +00:00
ceriel
0509996f7f use stdarg when compiling with ANSI C compiler 1995-08-17 15:01:56 +00:00
ceriel
e41c75c1bc Some minor changes 1995-08-17 10:03:43 +00:00
ceriel
c833d93d2d Some fixes 1995-06-12 14:28:36 +00:00
ceriel
5edfb9eccf Fix: had a semicolon too much (KJB) 1995-04-18 13:56:20 +00:00
ceriel
f069cba449 Made arith_sign more portable 1995-03-28 09:10:31 +00:00
ceriel
86cb2d66d7 Fixed: % and / were interchanged 1995-03-27 11:46:47 +00:00
ceriel
d801356f1e Fixed typo 1995-03-27 11:22:57 +00:00
ceriel
bcb4a75630 free WorkingDir only if including cpp 1995-03-24 13:56:20 +00:00
ceriel
c7b707c266 SkipToNewLine() fixed: did not work with a / at the end of a line 1994-10-28 15:26:36 +00:00
ceriel
29a640446a Remove prototype idfs in casts! 1994-10-18 13:43:50 +00:00
ceriel
d1e4c3d930 Fixed: union initialization did not work properly 1994-10-03 12:57:39 +00:00
ceriel
c3ad2ccc5e Improved driver, handles quotes better 1994-09-16 12:41:55 +00:00
ceriel
8636e9d10a Changed Header into Id 1994-06-27 08:03:14 +00:00
ceriel
1db6a3029b Header --> Id 1994-06-24 14:02:31 +00:00
ceriel
77c44b0f04 Minor fix in error message 1994-06-02 10:54:13 +00:00
ceriel
f06b39f112 removed wrong assertion 1994-04-19 10:46:08 +00:00
ceriel
dd67502468 Minor fix 1994-04-19 10:04:53 +00:00
ceriel
b8b3054bba Fix: prevent unintentional token pasting 1994-03-01 15:04:52 +00:00
ceriel
b03e2f6a8b Also update alignment in complete_type(); resulted in obscure (and wrong) error message 1994-03-01 09:54:16 +00:00
ceriel
12bc7ed391 Changed as suggested by Frans Meulenbroeks 1993-11-23 15:35:08 +00:00
ceriel
60192399dc Added declarations for static functions 1993-11-18 15:38:13 +00:00
ceriel
e3e19a7a0d signal now deals with void functions 1993-11-17 16:53:43 +00:00
ceriel
cf151967a5 signal now deals with void functions 1993-11-17 16:38:52 +00:00
ceriel
875797a7d8 and again ... 1993-11-17 09:10:36 +00:00
ceriel
121cb0c285 Fixed: version with typo committed 1993-11-17 09:05:28 +00:00
ceriel
5bbe789504 Some small fixes 1993-11-16 12:00:06 +00:00
ceriel
f5df1934b9 Define PRIVATE as static 1993-11-16 11:59:09 +00:00
ceriel
70b035d559 Define PRIVATE as static, and consequences 1993-11-16 11:49:17 +00:00
ceriel
8998e56069 Fixed bug 1993-11-15 09:25:32 +00:00
ceriel
dbdf63595a Realloc call: put cast in front of first arg 1993-11-12 15:48:22 +00:00
ceriel
b6ba1452f8 made symbol2str decl global 1993-11-12 15:45:09 +00:00
ceriel
37ab68909b Added void for some functions 1993-11-10 12:42:25 +00:00
ceriel
067ad0cc22 Fixed div() and ldiv() for machines with -1/2 = -1 1993-10-26 13:58:04 +00:00
ceriel
c689e34fa7 Use LCSYM for bss and STSYM for data, so that grind can see the diff 1993-10-25 15:43:02 +00:00
ceriel
0fc413c78a Use LCSYM for bss and STSYM for data, so that grind can see the diff 1993-10-25 15:34:08 +00:00
ceriel
c9ec055176 Define NDEBUG if you don't want assertions 1993-10-22 14:30:43 +00:00
ceriel
2006278a52 A fix for stabs, and define NDEBUG 1993-10-22 14:24:31 +00:00
ceriel
29f543b603 Some minor changes: prevent some warnings 1993-10-07 14:07:42 +00:00
ceriel
fa7069780d Added missing stuff 1993-10-07 09:46:14 +00:00
ceriel
b73eb4057e Fix: set error flag in some error cases 1993-10-07 09:44:03 +00:00
ceriel
4775779d8e Made more portable 1993-10-06 13:15:12 +00:00
ceriel
668b3fc2d8 New, improved fmod.c 1993-08-31 10:54:08 +00:00
ceriel
a37e49b619 Added check, but probably never happens with correct FEF 1993-08-31 10:53:05 +00:00
ceriel
983e1bf095 Fix to icompute.c: always had one digit too much 1993-08-26 10:08:37 +00:00
ceriel
b3863b7247 Fixed bug with union initializers 1993-08-09 09:40:44 +00:00
ceriel
7a26259981 Fixed make.hfiles; some "shells" did not accept it 1993-08-05 12:30:57 +00:00
ceriel
bf84a52bc3 Fix make.hfiles; some shells did not accept it 1993-07-07 13:42:45 +00:00
ceriel
eaa9dab166 Fixed infinite loop 1993-06-24 15:48:46 +00:00
ceriel
298fd07712 Prevent warning about overflow 1993-06-09 11:47:01 +00:00
ceriel
4ff171c1a5 Also skip lint comments in skip_block() 1993-06-09 10:17:44 +00:00
ceriel
1ad085cfb8 Also skip lint comments in skip_block() 1993-06-09 09:40:54 +00:00
ceriel
5092c4ece3 Don't free filenames when lint 1993-06-04 10:30:16 +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
b4aef1eb5e Fixed error: did not compile 1993-05-12 08:33:03 +00:00
ceriel
8c66b84305 small fix in ftell 1993-04-05 11:49:59 +00:00
ceriel
e9a4337ccf Fixed problem with missed unstacks 1993-03-30 09:41:00 +00:00
ceriel
6fc94eb375 Improved constant arithmetic: had several bugs 1993-03-18 13:24:20 +00:00
ceriel
a0d74876b8 Fixed bit-field initializers bug 1993-02-05 18:15:32 +00:00
ceriel
7352c25e9c Fix: did not work properly on 2-4 machines 1993-02-03 13:28:14 +00:00
ceriel
6f8002f540 Fix: previous version did not work with variable # of args 1993-01-28 11:45:38 +00:00
ceriel
de58173e36 No more global space for structure returns 1993-01-28 10:09:51 +00:00