Changed the low level type representation from a strung of unsigned short

elements to a string of structs, each representing one type element. This
should fix problems on unusual architectures, since it is no longer necessary
to embedd pointers and other data converted to numbers in the string of
unsigned shorts.
Increased the TypeCode length to unsigned long to make room for more type
bits.
Inline more functions in datatype.h.


git-svn-id: svn://svn.cc65.org/cc65/trunk@3709 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2006-02-19 12:29:37 +00:00
parent 1375c85405
commit de3a20a898
26 changed files with 636 additions and 633 deletions

View File

@@ -6,7 +6,7 @@
/* */
/* */
/* */
/* (C) 2002-2004 Ullrich von Bassewitz */
/* (C) 2002-2006 Ullrich von Bassewitz */
/* R<>merstrasse 52 */
/* D-70794 Filderstadt */
/* EMail: uz@cc65.org */
@@ -57,7 +57,7 @@ void Assignment (ExprDesc* Expr)
/* Parse an assignment */
{
ExprDesc Expr2;
type* ltype = Expr->Type;
Type* ltype = Expr->Type;
/* We must have an lvalue for an assignment */
@@ -87,7 +87,7 @@ void Assignment (ExprDesc* Expr)
* the former case, push the address only if really needed.
*/
int UseReg = 1;
type* stype;
Type* stype;
switch (Size) {
case SIZEOF_CHAR: stype = type_uchar; break;
case SIZEOF_INT: stype = type_uint; break;