Commit graph

561 commits

Author SHA1 Message Date
eck 5badcb4296 changed stackheight computation to top element size computation 1990-09-04 17:16:00 +00:00
ceriel 2f83a7e3d9 fix: also kill condition codes if they are set to a register that is to be killed 1990-09-03 11:12:44 +00:00
ceriel e0ff37aa6e support for long strings 1990-08-01 14:30:45 +00:00
ceriel 6d675af42c removed limit on string size 1990-07-30 15:40:08 +00:00
ceriel 5c0938d05b Added some more support for debugger 1990-07-30 09:43:45 +00:00
eck 7ef2d1bc37 switch to text segment when generating a label 1990-07-20 14:02:35 +00:00
eck 4ef2c70ed3 added stackheight message handling 1990-07-18 14:53:19 +00:00
ceriel f2b4713c24 cast ptrdiff_t to int for ANSI 1990-04-25 14:23:05 +00:00
ceriel 16ef0467a8 Fixed wrong assertion, and fixed bug in distance routine: it did not check
that each stackpattern token that does not exactly match can be made from the
stack
1990-04-04 14:52:29 +00:00
ceriel 95632b0fef Oops in assertion: MAXPROCARG instead of MAXPROCARGS 1990-02-23 17:05:04 +00:00
ceriel 0ec452930f print pointer as hex 1990-02-23 16:58:34 +00:00
ceriel 3f950c9f17 Added a new operator for ncg: is_rom() 1990-02-09 16:34:17 +00:00
ceriel 0c5cce9a96 max filename length too short in error messages 1990-01-31 16:27:05 +00:00
ceriel 89b736ba83 Added mechanism to warn correctly about conflicts 1990-01-19 16:05:44 +00:00
ceriel a5f05e8ba0 changed character comparisons with NULL 1989-12-13 09:19:47 +00:00
ceriel cd64ce0424 rounding for un-normalized numbers was wrong 1989-11-29 09:56:59 +00:00
ceriel 79b0bb3347 do not declare sprintf. On some systems it is an int, on others it is
a char *
1989-11-29 09:55:03 +00:00
ceriel b91af798bc fixed rounding on ties to round to even, and fixed extend bug (test for 0
was wrong)
1989-11-27 16:26:02 +00:00
ceriel a46596cbba new object module makes buffering superfluous 1989-11-17 16:50:59 +00:00
ceriel 95fc55f840 fix: did not work for 4-byte floats 1989-11-09 17:01:29 +00:00
ceriel d9d6cc127f Allow more procedure parameters 1989-11-09 11:04:18 +00:00
ceriel 339f9dd942 fixed bug in EM replacement code, and use new #defines from tables.h 1989-11-08 17:13:33 +00:00
ceriel 74546bd985 Added a command to kill a register 1989-10-26 15:41:38 +00:00
ceriel 13ea4896b0 changes for different byte orderings 1989-10-25 17:15:37 +00:00
eck 78d3e500fb added CPP variable to Makefile 1989-10-20 11:05:00 +00:00
ceriel 319d9bcfe0 declaration of sprintf only if __STDC__ is not defined 1989-08-21 11:43:41 +00:00
ceriel 04dcaf5685 did not handle -0.0 right 1989-08-15 09:04:49 +00:00
ceriel 37379d70ba some fixes: fif did loose too many bits; unnormalized form did not work 1989-07-31 15:10:54 +00:00
ceriel f7360f0fec many changes, to use IEEE format 1989-07-25 14:21:09 +00:00
ceriel a7b5504034 new mechanism for floating point constants 1989-07-10 17:15:55 +00:00
ceriel c820d77690 new floating point constant mechanism 1989-07-10 16:52:02 +00:00
ceriel 9953b58092 don't remove compiler generated labels when they are external 1989-06-19 11:19:22 +00:00
ceriel 3ecaa0b634 some fixes: fix order in which registers are allocated, make sure that
a pattern chosen by the distance routine can be made from the stack if the
fakestack does not contain enough tokens
1989-03-17 16:49:58 +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 6f4bdccf04 removed prt_ext 1989-02-23 10:08:20 +00:00
ceriel 59ea3478ac Add include directory when compiling head 1989-02-16 09:40:52 +00:00
ceriel 920ba0eebe delinted somewhat 1989-02-02 16:31:51 +00:00
ceriel b45706ce7a delinted a little 1989-01-19 16:41:55 +00:00
ceriel 4c76583aba simplified assertion 1989-01-19 13:48:09 +00:00
ceriel 406d024e9f change to keep lint happy 1989-01-17 11:23:33 +00:00
ceriel 17e980aa15 Also pass SRC 1988-10-04 10:04:37 +00:00
ceriel 143531822a speeded up :-) 1988-08-11 22:02:53 +00:00
ceriel 5aa128ea62 speeded up again :-) 1988-08-11 14:50:18 +00:00
ceriel 2cb7fcf861 leave maximum value if overflow trap is handled 1988-08-11 10:28:30 +00:00
ceriel d308f4a3c2 fix: the minimum exponent is 1, not 0! 1988-08-10 22:33:48 +00:00
ceriel bb46f5218c Added version for machines with proper 4-byte operations 1988-08-10 10:07:53 +00:00
ceriel 05bac6c619 also detect 0/0 1988-08-05 11:40:29 +00:00
ceriel dc72163d44 cleaned up a bit 1988-08-04 18:10:34 +00:00
ceriel b26e580a74 cleaned up a bit, and made add_ext and sub_ext proper entry points,
without preconditions on the arguments
1988-08-04 11:16:20 +00:00
ceriel 2a9fe2a774 some modifications to improve speed (sorry, I mean, make a bit less slow) 1988-08-03 23:31:40 +00:00
ceriel 0406776361 fixed again 1988-08-02 11:57:37 +00:00
ceriel bcec2e84b5 merged with Michael Felts latest version 1988-07-25 10:46:15 +00:00
ceriel 24c59f9f68 adf and sbf did not work with 0.0 1988-07-22 20:54:49 +00:00
ceriel b9aa04dbb3 fixed problem with temporary DEALLOCATES: sometimes a register was
used for stacking, that was only temporarily deallocated
1988-07-15 11:23:44 +00:00
ceriel f0d3a648af fixed problem with temporary DEALLOCATES: sometimes a register was
used for stacking, that was only temporarily deallocated
1988-07-15 11:12:13 +00:00
ceriel 7aca78dc21 Also hide name b64_sft 1988-07-14 11:11:48 +00:00
ceriel e8931fe5de make to compile on Xenix 1988-07-14 10:11:01 +00:00
ceriel 1cf834f731 did not work properly; assumet it could remove sign AFTER converting to
machine dependant order
1988-07-13 20:00:22 +00:00
ceriel 722bf6de1e Added debug statement 1988-07-13 13:43:45 +00:00
ceriel ccbf4f0cf6 made to compile on Xenix 1988-07-12 14:19:03 +00:00
ceriel 53bda08502 do not use shell meta characters in dependents; some makes do not like it 1988-07-12 11:10:31 +00:00
ceriel 3048d94603 bug fix: an array was declared too small 1988-07-07 10:55:52 +00:00
ceriel 5391cf8b17 fixed; did not compile 1988-06-29 16:48:07 +00:00
ceriel 78f0107cb8 only change sign when value is not 0 1988-06-29 16:34:40 +00:00
ceriel e64951e1d3 removed some lint complaints 1988-06-28 14:41:02 +00:00
ceriel 2f7e414d42 corrected lint entry 1988-06-28 14:36:21 +00:00
ceriel 3be40e8f15 removed some lint complaints 1988-06-28 13:55:25 +00:00
ceriel bd975e3041 removed some lint complaints 1988-06-28 13:43:54 +00:00
ceriel d3723b3d38 modified distance function somewhat 1988-06-24 12:03:02 +00:00
ceriel b72f2848dd fixed panic mode 1988-06-22 18:47:48 +00:00
ceriel c146e278fc distance routine improved a little; still not safe! 1988-06-22 16:22:07 +00:00
ceriel a0934dc7e0 made bittable dynamic 1988-06-16 13:24:10 +00:00
ceriel 8f1cac51c8 Added option for temporary directory 1988-06-16 09:57:59 +00:00
ceriel adadb10b17 corrected 1988-06-13 18:01:47 +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 cd893a6ff8 corrected 1988-06-03 14:25:26 +00:00
ceriel 0be2e884b1 some last-minute minor changes 1988-05-06 17:03:30 +00:00
ceriel c4d0a4f449 corrected the overflow checks 1988-04-28 14:21:55 +00:00
ceriel d9638fca0e fixed bug: did not convert 0 right 1988-04-25 18:13:32 +00:00
ceriel 3edf9486c9 fixed to not accept dots in numbers 1988-04-22 18:34:22 +00:00
ceriel b948e4b59d corrected; sometimes lookahead would fail 1988-04-22 14:02:43 +00:00
ceriel 0aa6d4ed5d corrected: a shift of 32 is not portable! 1988-04-21 18:40:42 +00:00
ceriel 1c7c9c60cf fef4 and fef8 did not quite work properly: the exponent part is an
int, not a short!
1988-04-14 18:06:47 +00:00
ceriel f92dad2d9d only fclose on non-NULL streams 1988-04-14 16:09:02 +00:00
ceriel 6eb15567ae Added some debug print statements 1988-04-11 10:55:07 +00:00
ceriel 10b3d3d862 added floating point lib 1988-04-07 11:42:21 +00:00
ceriel 8ee3542787 Added copyright notices 1988-04-07 11:40:46 +00:00
ceriel 8a96f95c59 Initial revision 1988-04-07 10:57:49 +00:00
ceriel 92f28ae164 Added another debug statement 1988-03-31 12:50:12 +00:00
ceriel 14d7db7499 remove some of the lint complaints 1988-03-31 11:17:47 +00:00
ceriel 092292683c modified to use a different 'panic' strategy, and use
new clash-table in tables.c when possible, and some other tuning
1988-03-31 10:14:48 +00:00
ceriel ea9e90d785 fixed for operand separators within operands 1988-03-14 15:58:07 +00:00
ceriel 8fc22f0db7 allow assembler to read from STDIN 1988-02-05 15:10:08 +00:00
ceriel 048eac2d67 fixed to also read from standard input 1987-11-25 16:55:51 +00:00
ceriel a1ae336247 first arg to putc must be int or char, not long 1987-09-01 18:31:42 +00:00
ceriel f00c143b28 added declaration for fopen 1987-09-01 15:58:30 +00:00
ceriel cb16212a09 declared freopen; apparently it is not declared in stdio.h
on some systems
1987-09-01 15:24:15 +00:00
ceriel 16c73e6654 use malloc instead of sbrk 1987-08-06 13:04:20 +00:00
ceriel 6d85667761 bigger define for MAXSTAB 1987-08-06 13:00:47 +00:00
ceriel c9f7d845a2 temporary fix for commas within operands 1987-08-05 13:09:37 +00:00
ceriel 69843cf9ce Added -DNDEBUG to Makefile, table now kills regvars 1987-07-06 15:28:59 +00:00
ceriel d41028a664 pass EMHOME to nested make 1987-06-30 18:30:45 +00:00
ceriel d473c8b1df Added some register decls 1987-06-30 18:24:27 +00:00
ceriel 87c67b8c5f EM --> EMHOME 1987-06-30 18:20:25 +00:00
ceriel 798261d992 pass EMHOME to nested make 1987-06-09 10:19:47 +00:00
ceriel dd2cf6bbaa Fix in wrong assertion 1987-05-21 09:28:33 +00:00
ceriel 45f384c870 improved ROM handling 1987-05-18 15:50:42 +00:00
ceriel 32a436bab4 handle ROM's better 1987-05-18 13:29:32 +00:00
ceriel 81b1d21c35 Initial revision 1987-04-13 10:32:47 +00:00
ceriel 96d15a6c05 minor mod 1987-04-03 11:18:49 +00:00
ceriel 4b30a95d7a minor mods 1987-04-03 11:16:46 +00:00
ceriel 11db9b8fdc Added EMHOME 1987-04-01 08:54:00 +00:00
ceriel 1d443b6b4b bug fix 1987-03-27 13:34:46 +00:00
ceriel 391f6cc9ea could not be handled by MINIX pre-processor 1987-03-23 14:48:56 +00:00
ceriel 8829d77144 made name shorter 1987-03-19 10:15:58 +00:00
ceriel 88db8b43da Added distr entry 1987-03-19 10:12:51 +00:00
ceriel 6eaf182cee Added Rcs Id 1987-03-10 11:49:39 +00:00
ceriel 5537abbdfb Added copyright notice 1987-03-10 01:26:51 +00:00
ceriel 815166e421 Added copyright notice 1987-03-09 19:15:41 +00:00
ceriel f36ee6de55 could loop again 1987-03-05 17:40:48 +00:00
ceriel 5380ae4768 Set "saveemp" before calling compute. compute might need it. 1987-03-04 10:34:57 +00:00
ceriel 0b92bc0cd7 Set saveemp before calling "compute". "compute" might need it! 1987-03-04 10:32:22 +00:00
ceriel f2a77335b0 An attempt to make "erasereg" a little more efficient, as it seems
often to be called to erase the condition codes.
1987-02-21 22:20:10 +00:00
ceriel d493ffcfde bug fix 1987-02-20 17:35:08 +00:00
ceriel a3c78bffe6 Bug fix 1987-02-20 17:33:06 +00:00
ceriel 04d031d33d Added some buffering for writes 1987-02-13 12:44:33 +00:00
ceriel 6d0a4a9ce0 changed directory: nas --> as 1987-02-09 16:29:15 +00:00
ceriel 2c29e9f07c Changed an assertion that was no longer valid 1987-02-07 01:50:48 +00:00
ceriel 729490c212 *** empty log message *** 1987-02-07 00:35:16 +00:00
ceriel 622530ae68 Changed hash function, added "registers" 1987-02-07 00:13:56 +00:00
ceriel 4d92d60469 Added some "registers" 1987-02-07 00:04:05 +00:00
ceriel 5afc7363f0 *** empty log message *** 1987-02-04 17:43:20 +00:00
ceriel aab8668d4b Bug fix 1987-01-28 15:15:28 +00:00
ceriel fb8fc4e07c Fixed introduced bug 1987-01-28 13:00:33 +00:00
ceriel ebd44261fe cc --> $(CC), added -O flag to CFLAGS 1987-01-28 12:49:42 +00:00
ceriel 6c762a19e7 Changed /lib/cpp to ../../../lib/cpp 1987-01-20 13:09:56 +00:00
ceriel 0b941ef495 Bug fixes 1987-01-16 13:51:45 +00:00
ceriel 324cbd8327 Fixed a minor problem with off_fmt, when it did not produce
a '-' sign when neccesary
1987-01-14 17:49:19 +00:00
ceriel 9877db53d9 Fixed a minor problem with off_fmt, when this format would not
produce the '-' sign.
1987-01-14 17:47:31 +00:00
ceriel e77bde5e75 Added TABLEFLAGS and CGGFLAGS. 1987-01-12 15:10:49 +00:00
ceriel 031d26deb4 Preprocess table. 1987-01-12 14:50:25 +00:00
ceriel 3245258560 Added exclusive or operator 1987-01-08 14:27:07 +00:00
ceriel ceee24a4cd Added bitwise and and or operators 1987-01-08 14:11:23 +00:00
ceriel 01ac83b971 fix to prevent loop resulting in stack overflow 1987-01-08 14:10:02 +00:00
ceriel bfb60b8a33 small adaption to "awayreg". 1987-01-08 14:09:14 +00:00
ceriel ceff6f834a Removed a bug that led to infinite looping in obscure cases. 1987-01-06 18:49:00 +00:00
ceriel 9e6fe01229 Improved testing for 0-strings in the routine "mycat". 1986-12-11 17:04:40 +00:00
ceriel e98c02b831 Corrected a typo. 1986-12-11 17:03:11 +00:00
ceriel e188fe0956 Version that uses libobject.a 1986-12-01 15:41:29 +00:00
ceriel b44e39cce8 Version that uses libobject.a. 1986-12-01 15:35:28 +00:00
sater 59861f883b added support for modhead 1986-11-28 13:47:44 +00:00
sater 17f5bc21e7 debugging stuff happened to end up on stdout instead of stderr. 1986-11-28 13:41:09 +00:00
ceriel dbb351f078 Handled gen.c wrong. This is corrected. 1986-11-24 21:30:57 +00:00
ceriel 7c5553640e Added -DNDEBUG 1986-11-24 21:01:42 +00:00
ceriel 5ced6d6aef Initial revision 1986-11-24 20:58:35 +00:00
ceriel 86018d09e1 changed sizes of labstr and argstr to accomodate longer identifiers. 1986-11-12 21:14:05 +00:00
ceriel f7a6dc503c Changed sizes of "argstr" and "labstr", to accomodate longer
identifiers.
1986-11-12 21:04:38 +00:00
sater 02ff84337a Typo corrected 1986-10-24 16:58:46 +00:00
sater 2672c87f68 empty string was returned when it was not so good. 1986-10-09 16:15:00 +00:00
sater ae2f236663 nullpointer and empty string were confused.
Long live the PDP and VAX
1986-10-09 16:12:24 +00:00
sater 9092e509c6 changed ad2str function not to add +0 at labels 1986-09-22 13:15:15 +00:00
sater b5009c57b4 made debiug output better 1986-09-22 13:14:54 +00:00
ceriel f45f393b71 replaced all occurrences of "cc" by "$(CC)". 1986-07-22 11:01:54 +00:00
sater 851a68883c repaired inreg() pseudofunction, it delivered total nonsense 1986-03-27 15:49:16 +00:00
bal 5ac646f89f Yet another bug reported by sater. 1985-11-18 16:55:53 +00:00
bal 98d06cffb2 0 / -1 confusion for properties (bug reported by sater). 1985-10-03 14:47:28 +00:00
bal de79024451 0 / -1 confusion for properties (2 bugs reported by sater). 1985-10-03 14:45:53 +00:00
bal 0d9459bdd6 MAXSTAB set to 2500 (problem with argument list of ROM for new C front-end). 1985-09-06 11:06:32 +00:00
keie 177af75c93 *** empty log message *** 1985-05-13 11:19:24 +00:00
keie 5472fafa56 Add hoc solution of .align problem. 1985-04-23 12:55:01 +00:00
keie eb3fc1d43e Added provision to print (possibly in mach.h defined) modhead
on the output assmble file as the very first text.
1985-04-16 16:14:55 +00:00
keie 772b64fabd *** empty log message *** 1985-04-12 16:56:43 +00:00
em 9f203c9a17 Expressions are now always calculated in long.
Some backends needed that.
1985-03-12 10:41:29 +00:00
em 0c92039ba4 Expression are always evaluated in longs.
Some 2-4 backends needed long expressions.
1985-03-12 10:39:24 +00:00
keie cb0b2e08cf 1 - At RREMOVE also check the stack set aside for coercions.
2 - When coercions unexpectedly need stack of part of the
stakpattern, discontinue this option.
1985-03-01 16:25:21 +00:00
keie c2a990768d The top of the stack, which is set aside for certain
coercions is now saved with special routines.
This allows RREMOVE to check for registers.
1985-03-01 16:20:13 +00:00
keie e7f7f33f60 cg tried to stack register parameters of moves, when
these registers were killed.
1985-02-26 16:31:38 +00:00
keie 815b0e0f0f *** empty log message *** 1985-02-12 14:20:30 +00:00
keie 987ed39adb Added an entry "distr" to make tables1.c and tables1.h. 1985-02-03 23:50:51 +00:00
sater 7f0def8861 RREMOVE section updated. 1985-01-11 09:44:34 +00:00
sater 4ba6e7a39c *** empty log message *** 1985-01-08 15:34:54 +00:00
keie 5edf93d2de *** empty log message *** 1985-01-07 15:54:38 +00:00
sater 0a00b80726 Added support for the fmt_id and fmt_ilb macros 1984-11-26 10:50:46 +00:00
sater 6a4dc794a2 In the RREMOVE section of this file, the field e_con of the
expression union was used in stead of e_reg.
Fixed. Checked all other occurrances, are correct.
1984-11-20 16:56:26 +00:00
sater 7c07f91e1c The constant 512 slipped in instead of BUFSIZ.
Changed.
1984-11-20 10:22:12 +00:00
keie 2976b590af The flag -LIB was missing in the call to the shell-procedure
compmodule. Thus the generated libraries could not be effectively
used by our assembler/linker.
1984-11-05 11:37:23 +00:00
keie 828b4d62c9 We have only one copy of the script for compare and install now
they are present in ../..
1984-10-23 15:14:17 +00:00
sater a4a5fc4bfa changed references to EM_?SIZE to TEM_?SIZE 1984-10-23 15:04:24 +00:00
sater 79ea4bdea3 Changed to use -h flag to cgg and better way of preserving old tables.h
if not changed. Nice huh, Andy?
1984-10-23 13:29:41 +00:00
sater ab0db1c5fb added rcsid(again). Who took that away? 1984-10-16 13:45:16 +00:00
keie 550d1fa79e New installation procedure:
1 - New place for binaries and libraries in the ACK tree.
2 - The ranlib action is moved to ../../install which tries it at
    every action.
1984-10-08 14:09:28 +00:00
sater 13d6e6815e added missing cast at call to regsave, in ms_gto case 1984-10-02 11:17:57 +00:00
sater 92aecb175c changed definition of myalloc to extern 1984-10-02 10:31:06 +00:00
sater a3f62d0255 added external definition for myalloc() 1984-10-02 10:30:44 +00:00
sater 5689e6ab64 Increased the amount of information passed through error routines
to printf. The routine badassert, running on a 2/4 machine lost it's
last argument on the way.
Anyone know of a better way to solve this problem?
1984-08-17 15:35:28 +00:00
sater ff9d23e4ec A move from a nonreg to a reg did not have the effect that all
registers clashing with the destination were erased. Erase added.
1984-08-02 16:31:25 +00:00
sater e20ab23a4b added rcsid 1984-07-19 15:03:30 +00:00
sater 5fb767966b Initial revision 1984-07-19 15:01:43 +00:00
sater 4558cb8836 Replaced call to newilb after pro pseudo to call to newplb,
including retrofit for existing mach.h files
1984-07-12 09:26:24 +00:00
sater 7d75cf2799 Reworked to work, I think 1984-05-19 12:44:53 +00:00
sater c4826294dc added rcsid
Tried to make machine independent,
machine independent sources now taken from ../../proto/cg
Changed according to suggestion from ceriel to prevent running cgg twice
1984-05-19 12:03:22 +00:00
sater ceeeca40f6 added code to save all registers for ms_gto
changed place of #ifdef to make this null-module compile faster
when no register variables are used.
1984-05-19 11:49:37 +00:00
sater 0cd7d8826e erase(reg) now also erases all register whose contents depend on
the contents of reg.
1984-05-19 11:49:01 +00:00
sater 9dfcd76f4b added code to recognize ms_gto 1984-05-19 11:48:40 +00:00
sater 54e681c6cc added rcsid 1984-05-19 11:42:19 +00:00
sater 445ee4ccb8 added rcsid
added code to check for write errors on codefile
1984-05-19 11:40:08 +00:00
sater f792cb549e added rcsid
removed sign extension bug in large constants
1984-05-19 11:38:48 +00:00
sater 65e35e6d53 added rcsid
added code to insure instructions come out in .text space
1984-05-19 11:38:15 +00:00
sater 18e0859e5d Initial revision 1984-05-19 11:08:27 +00:00
sater 5eeba1c1e0 Initial revision 1984-05-18 21:27:39 +00:00