Commit graph

26 commits

Author SHA1 Message Date
David Given c95d5db372 Replace mkstemp() with the more modern and safer and simpler tmpfile(). 2019-02-10 14:36:15 +01:00
David Given 63fa647bc9 freopen() appears to be problematic on OSX; as it's only ever used to rewind
files, replace with rewind().
2019-02-10 14:32:17 +01:00
David Given 642956fa2f mcg now uses dataf4 and dataf8 to emit floating point constants, and so doesn't
need flt_arith any more. (And also generates them correctly on little-endian
systems.) as now parses numbers properly, doesn't trash memory all over the
place, and can handle negative numbers.
2018-09-12 23:19:32 +02:00
David Given a1747ac916 Add the .dataf4 and .dataf8 directives to the assembler --- manually converting
floats and doubles to bytes is not fun. It might even work!
2018-09-10 22:56:18 +02:00
George Koehler ac4cbd735e Use libc assert(); fix dependencies; unbreak isduo().
Switch from custom assert() to libc assert() in mach/proto/as.
Continue to disable asserts if DEBUG == 0.

This change found a problem in the build system; comm2.y was missing
depedencies on comm0.h and comm1.h.  Add the missing dependencies to
the cppfile rule.  Allow the dependencies by modifying cppfile in
first/build.lua to act like cfile if t.dir is false.

Now that comm2.y gets rebuilt, I must fix the wrong prototype of
yyparse() in comm1.h.

I got unlucky as induo() in comm5.c was reading beyond the end of the
array.  It found an operator "= " ('=' then space) in the garbage, so
it returned a garbage token number, and "VAR = 123" became a syntax
error.  Unbreak induo() by terminating the array.
2017-11-11 16:09:05 -05:00
George Koehler d347207e60 Add more prototypes in mach/proto/as
Change "register i;" to "int i;" to so clang stops warning about
implicit int.  Use function prototypes so clang stops warning about
implicitly declared functions.
2017-11-10 23:30:46 -05:00
George Koehler ba2a03705e Use prototypes in mach/proto/as/comm5.c
Order the function prototypes in comm1.h to match the order of the
function definitions in *.c files.
2017-01-17 16:41:29 -05:00
David Given c5018d7088 64-bit-ify (adhoc varargs are evil). 2015-03-23 00:07:59 +01:00
dtrg 4c0a0e6119 Rationalised use of #includes to be more standards-compliant. 2006-07-18 17:10:29 +00:00
ceriel 1db6a3029b Header --> Id 1994-06-24 14:02:31 +00:00
ceriel 468d98750c Fixed problem with relocation,
added curr_token, so that parser can access token
1993-02-08 13:01:30 +00:00
ceriel 952bd37627 removed atol reference 1991-12-18 16:01:44 +00:00
ceriel 53c4951b29 Do not use '#endif/#else xxx'; it is not allowed for ANSI C 1991-12-17 15:05:43 +00:00
ceriel 0c59e2e12d Prevent name clashes with sys/types.h on system V 1991-12-16 15:24:24 +00:00
ceriel 0b26bdf5fb Some changes in search for more efficiency 1991-01-11 14:20:59 +00:00
ceriel e0ff37aa6e support for long strings 1990-08-01 14:30:45 +00:00
ceriel a22bbe847f use calloc instead of malloc, to make sure block is initialized to 0 1989-03-01 10:00:37 +00:00
ceriel b45706ce7a delinted a little 1989-01-19 16:41:55 +00:00
ceriel a0934dc7e0 made bittable dynamic 1988-06-16 13:24:10 +00:00
ceriel be8815e2b7 made nbits a long 1988-06-13 17:57:39 +00:00
ceriel 192de9bf32 linenumber in long instead of short 1988-06-13 15:28:19 +00:00
ceriel 16c73e6654 use malloc instead of sbrk 1987-08-06 13:04:20 +00:00
ceriel 6eaf182cee Added Rcs Id 1987-03-10 11:49:39 +00:00
ceriel 815166e421 Added copyright notice 1987-03-09 19:15:41 +00:00
ceriel e188fe0956 Version that uses libobject.a 1986-12-01 15:41:29 +00:00
keie 772b64fabd *** empty log message *** 1985-04-12 16:56:43 +00:00