Commit graph

25 commits

Author SHA1 Message Date
George Koehler
2a92f9bf4d Add a few more error checks and adjustments to reglap.
In util/ncgg, add two more errors for tables using reglap:
 - "Two sizes of reg_float can't be same size"
 - "Missing reg_float of size %d to contain %s"

In mach/proto/ncg, rename macro isregvar_size() to PICK_REGVAR(), so
the macro doesn't look like a function.  This macro sometimes doesn't
evaluate its second argument.

In mach/powerpc/ncg/mach.c, change type of lfs_set to uint32_t, and
change the left shifts from 1U<<regno to (uint32_t)1<<regno, because
1U would be too small for machines with 16-bit int.
2017-10-18 22:00:12 -04:00
George Koehler
307a8b996e Add regvar_w() and regvar_d() for use with reglap.
If the ncg table uses reglap, then regvar($1, reg_float) would have
two sizes of registers.  An error from ncgg would happen if regvar()
was in a token that allows only one size.  Now one can pick a size
with regvar_w() for word size or regvar_d() for double-word size.

Add regvar_d and regvar_w as keywords in ncgg.  Modify EX_REGVAR to
include the register size.  In ncg, add some checks for the register
size.  In tables without reglap, regvar() works as before, and ncg
ignores the register size in EX_REGVAR.
2017-10-17 12:05:41 -04:00
David Given
81778b603f Merge updates from trunk.
--HG--
branch : dtrg-buildsystem
2013-05-13 12:37:27 +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
David Given
c93cb69959 Check in incomplete Linux PowerPC and M68K work.
--HG--
branch : dtrg-experimental-powerpc
2013-05-08 00:48:48 +01:00
dtrg
f5bbc20093 Removed unnecessary commas seperating yacc tokens, to prevent warnings. 2006-07-18 17:17:14 +00:00
ceriel
5c83e7dbb5 Header --> Id 1994-06-24 11:31:16 +00:00
eck
5c85d84228 changed stackheight computation to top element size computation
changed some parameters
1990-09-04 17:19:04 +00:00
eck
4ef2c70ed3 added stackheight message handling 1990-07-18 14:53:19 +00:00
ceriel
7c4af80c0f is_rom is boolean, not integer 1990-02-12 15:15:21 +00:00
ceriel
3f950c9f17 Added a new operator for ncg: is_rom() 1990-02-09 16:34:17 +00:00
ceriel
d9d6cc127f Allow more procedure parameters 1989-11-09 11:04:18 +00:00
ceriel
3e80ca51fc generate #defines for MAXREPLLEN, MAXEMREPLLEN 1989-11-08 17:14:52 +00:00
ceriel
8f2fe1c003 token references in EM replacements do not work. Give error message 1989-05-30 12:20:54 +00:00
ceriel
18b7250736 Added a DO_TOSTACK command, and put set number of ALL in tables.c 1987-08-20 19:04:18 +00:00
ceriel
815166e421 Added copyright notice 1987-03-09 19:15:41 +00:00
ceriel
8f4a99cc24 The added ',' separator in token declarations did not work
(reported by Kees Bot, Edwin Scheffer). This is corrected (I hope).
1987-02-07 03:56:34 +00:00
ceriel
e0b23bbaea Added code to kill regvar(...) 1987-02-05 19:20:54 +00:00
ceriel
edae1fc950 Added a check that a tokenset in a stackpattern contains tokens
that all have the same size.
1987-01-26 16:14:39 +00:00
ceriel
45238eea0f Some bug fixes and minor extensions 1987-01-16 13:51:42 +00:00
ceriel
e5820bdbaa Added bitwise operators 1987-01-08 14:22:32 +00:00
sater
5c71bad6e1 Relaxed input syntax for from STACK coercions
No gen clause is necessary anymore.
1986-03-19 16:14:12 +00:00
sater
a91e33ce96 Corrected error in otime of initialisation of booleans 1985-12-02 13:55:06 +00:00
sater
a1a8fd99a0 Optional register property in stacking rules must be -1 when absent.
Fixed this.
1985-01-10 16:30:09 +00:00
sater
72b83cca59 *** empty log message *** 1985-01-08 09:59:28 +00:00