Commit graph

38 commits

Author SHA1 Message Date
David Given 511c3e99ee Fix a whole bunch of warnings. 2022-08-01 22:08:23 +02:00
George Koehler 7ab4794a05 Reduce clang warnings from ncg
If a .c file included "types.h" before "mach.h", then it missed the
declaration of mach_option().  Fix by adding "xmach.h".

Fix mach/powerpc/ncg/mach.h and mach/vc4/ncg/mach.h to use the correct
type in their printf() format strings.
2019-10-30 18:36:55 -04:00
George Koehler 1faff418ec Teach some ncg machines to use .data8
This turns EM `con 5000000000I8` into assembly `.data8 5000000000` for
machines i386, i80, i86, m68020, powerpc, vc4.  These are the only ncg
machines in our build.

i80 and i86 get con_mult(sz) for sz == 4 and sz == 8.  The other
machines only get sz == 8, because they have 4-byte words, and ncg
only calls con_mult(sz) when sz is greater than the word size.  The
tab "\t" after .data4 or .data8 is like the tabs in the con_*() macros
of mach/*/ncg/mach.h.

i86 now uses .data4, like i80.  Also, i86 and i386 now use the numeric
string without converting it to an integer and back to a string.
2019-08-13 15:37:05 -04:00
George Koehler 760da1f421 Fix build with gcc.
gcc gave an error because the `char *` parameter doesn't match the
`const char *` in the prototype of regsave().  clang didn't give an
error.  I added the prototype in commit 5301cce.
2017-11-17 17:52:37 -05:00
George Koehler 5301cceee3 Declare machine-dependent functions in mach/proto/ncg
This breaks all machines because the declared return type void
disagrees with the implicit return type int (when I compile mach.c
with clang).  Unbreak i386, i80, i86, m68020, powerpc, vc4 by adding
the return types to mach.c.  We don't build any other machines; they
are broken since commit a46ee91 (May 19, 2013) declared void prolog()
and commit fd91851 (Nov 10, 2016) declared void mes(), with both
declarations in mach/proto/ncg/fillem.c.

Also fix mach/vc4/ncg/mach.c where type full is long, so fprintf()
must use "%ld" not "%d" to print full nlocals.
2017-11-13 14:23:44 -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
ceriel 1db6a3029b Header --> Id 1994-06-24 14:02:31 +00:00
ceriel 17efc329f8 Separated the m68020 syntax from the table, so that we can also create
a m68000 code generator producing m68020 syntax
1992-11-16 17:24:25 +00:00
ceriel b2cca56e16 Accept -gdb option 1992-03-27 17:36:49 +00:00
ceriel 998d11379c whichone.h in <> so that -I option determines which one to take 1991-09-18 18:23:36 +00:00
ceriel ba69e4279d Added support for DBX; Unfortunately, DBX still does not like it; GDB does 1990-11-13 17:00:51 +00:00
eck 54cc752a9e fixed bugs with ext_[wl] arguments, changed reusage of registers 1990-10-26 16:52:43 +00:00
eck b4a2b975a0 added m68k2 stuff, added patterns 1990-08-20 13:55:38 +00:00
ceriel edf2f575a2 link instruction does not work for more than 32768 bytes locals on M68000 1989-11-15 16:10:18 +00:00
ceriel 68a2852f57 fixed bug and changed con_float 1989-10-25 13:24:29 +00:00
ceriel 066c005493 Added #define for CODE_GENERATOR 1989-07-31 14:45:40 +00:00
ceriel 6f9afbf0d5 use IEEE format in floating point package 1989-07-25 15:50:29 +00:00
ceriel c820d77690 new floating point constant mechanism 1989-07-10 16:52:02 +00:00
ceriel 43fb961091 Added simple support for M68881 1989-06-12 09:30:39 +00:00
ceriel 19c225f75f fixed error in previous commit 1989-02-22 17:38:07 +00:00
ceriel f2c241fe3a do not depend on SP for restoring registers 1989-02-22 17:18:34 +00:00
ceriel 4fd066bb54 many improvements to the table, mostly to make it more readable
and less chaotic. Also removed some dummy routines in mach.c
1989-02-22 16:13:51 +00:00
ceriel 9ea59fd48a corrected print formats 1989-02-02 16:32:19 +00:00
ceriel 88acb4c4d9 be careful about overflow in con_float 1988-04-28 14:46:11 +00:00
ceriel b68e30f6ff avoid use of modf; not portable 1988-04-22 14:11:55 +00:00
ceriel 06c28ad222 do not call frexp with 0.0; the SUN4 cannot stand it 1988-04-20 10:01:35 +00:00
ceriel 4e419a19cd delinted 1988-03-31 10:38:05 +00:00
ceriel e3501a00dc handle rounding of floating point constants 1987-11-25 16:58:31 +00:00
ceriel 028beaf5e6 corrected con_float 1987-11-06 13:12:21 +00:00
ceriel e2037c2e4b fixed some problems, and added floating point library 1987-11-03 15:35:43 +00:00
ceriel 1ce6abf3de replaced printfs by fputs where possible 1987-09-08 09:00:29 +00:00
ceriel 0ba64871f6 added many patterns 1987-08-12 16:19:02 +00:00
ceriel 3929b47776 deleted useless tst.b instruction 1987-07-20 14:31:46 +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 3c60c1918e changed #define m68020 to TBL68020.
Could otherwize cause problems when translated with ack
1987-01-30 10:57:17 +00:00
ceriel 27e48672bb no F_DUM in dummy float 1987-01-29 19:49:35 +00:00
ceriel 177e335cad Initial revision 1987-01-13 09:24:13 +00:00