Removed "unsigned char" - now all chars are unsigned again.

git-svn-id: http://picoc.googlecode.com/svn/trunk@370 21eae674-98b7-11dd-bd71-f92a316d2d60
This commit is contained in:
zik.saleeba 2009-11-01 21:16:19 +00:00
parent f1aeadb077
commit 274f21fdbc
4 changed files with 4 additions and 13 deletions

View file

@ -159,7 +159,6 @@ void PrintType(struct ValueType *Typ, struct OutputStream *Stream)
case TypeChar: PrintStr("char", Stream); break; case TypeChar: PrintStr("char", Stream); break;
case TypeUnsignedInt: PrintStr("unsigned int", Stream); break; case TypeUnsignedInt: PrintStr("unsigned int", Stream); break;
case TypeUnsignedShort: PrintStr("unsigned short", Stream); break; case TypeUnsignedShort: PrintStr("unsigned short", Stream); break;
case TypeUnsignedChar: PrintStr("unsigned char", Stream); break;
#ifndef NO_FP #ifndef NO_FP
case TypeFP: PrintStr("double", Stream); break; case TypeFP: PrintStr("double", Stream); break;
#endif #endif

View file

@ -136,7 +136,6 @@ int ExpressionCoerceInteger(struct Value *Val)
case TypeChar: return (int)Val->Val->Character; case TypeChar: return (int)Val->Val->Character;
case TypeShort: return (int)Val->Val->ShortInteger; case TypeShort: return (int)Val->Val->ShortInteger;
case TypeUnsignedInt: return (int)Val->Val->UnsignedInteger; case TypeUnsignedInt: return (int)Val->Val->UnsignedInteger;
case TypeUnsignedChar: return (int)Val->Val->UnsignedCharacter;
case TypeUnsignedShort: return (int)Val->Val->UnsignedShortInteger; case TypeUnsignedShort: return (int)Val->Val->UnsignedShortInteger;
case TypePointer: return (int)Val->Val->NativePointer; case TypePointer: return (int)Val->Val->NativePointer;
#ifndef NO_FP #ifndef NO_FP
@ -154,7 +153,6 @@ unsigned int ExpressionCoerceUnsignedInteger(struct Value *Val)
case TypeChar: return (unsigned int)Val->Val->Character; case TypeChar: return (unsigned int)Val->Val->Character;
case TypeShort: return (unsigned int)Val->Val->ShortInteger; case TypeShort: return (unsigned int)Val->Val->ShortInteger;
case TypeUnsignedInt: return (unsigned int)Val->Val->UnsignedInteger; case TypeUnsignedInt: return (unsigned int)Val->Val->UnsignedInteger;
case TypeUnsignedChar: return (unsigned int)Val->Val->UnsignedCharacter;
case TypeUnsignedShort: return (unsigned int)Val->Val->UnsignedShortInteger; case TypeUnsignedShort: return (unsigned int)Val->Val->UnsignedShortInteger;
case TypePointer: return (unsigned int)Val->Val->NativePointer; case TypePointer: return (unsigned int)Val->Val->NativePointer;
#ifndef NO_FP #ifndef NO_FP
@ -172,7 +170,6 @@ double ExpressionCoerceFP(struct Value *Val)
case TypeChar: return (double)Val->Val->Character; case TypeChar: return (double)Val->Val->Character;
case TypeShort: return (double)Val->Val->ShortInteger; case TypeShort: return (double)Val->Val->ShortInteger;
case TypeUnsignedInt: return (double)Val->Val->UnsignedInteger; case TypeUnsignedInt: return (double)Val->Val->UnsignedInteger;
case TypeUnsignedChar: return (double)Val->Val->UnsignedCharacter;
case TypeUnsignedShort: return (double)Val->Val->UnsignedShortInteger; case TypeUnsignedShort: return (double)Val->Val->UnsignedShortInteger;
#ifndef NO_FP #ifndef NO_FP
case TypeFP: return (double)Val->Val->FP; case TypeFP: return (double)Val->Val->FP;
@ -321,10 +318,9 @@ void ExpressionAssign(struct ParseState *Parser, struct Value *DestValue, struct
{ {
case TypeInt: DestValue->Val->Integer = ExpressionCoerceInteger(SourceValue); break; case TypeInt: DestValue->Val->Integer = ExpressionCoerceInteger(SourceValue); break;
case TypeShort: DestValue->Val->ShortInteger = ExpressionCoerceInteger(SourceValue); break; case TypeShort: DestValue->Val->ShortInteger = ExpressionCoerceInteger(SourceValue); break;
case TypeChar: DestValue->Val->Character = ExpressionCoerceInteger(SourceValue); break; case TypeChar: DestValue->Val->Character = ExpressionCoerceUnsignedInteger(SourceValue); break;
case TypeUnsignedInt: DestValue->Val->UnsignedInteger = ExpressionCoerceUnsignedInteger(SourceValue); break; case TypeUnsignedInt: DestValue->Val->UnsignedInteger = ExpressionCoerceUnsignedInteger(SourceValue); break;
case TypeUnsignedShort: DestValue->Val->UnsignedShortInteger = ExpressionCoerceUnsignedInteger(SourceValue); break; case TypeUnsignedShort: DestValue->Val->UnsignedShortInteger = ExpressionCoerceUnsignedInteger(SourceValue); break;
case TypeUnsignedChar: DestValue->Val->UnsignedCharacter = ExpressionCoerceUnsignedInteger(SourceValue); break;
#ifndef NO_FP #ifndef NO_FP
case TypeFP: case TypeFP:

View file

@ -115,10 +115,9 @@ enum BaseType
TypeVoid, /* no type */ TypeVoid, /* no type */
TypeInt, /* integer */ TypeInt, /* integer */
TypeShort, /* short integer */ TypeShort, /* short integer */
TypeChar, /* a single character */ TypeChar, /* a single character (unsigned) */
TypeUnsignedInt, /* unsigned integer */ TypeUnsignedInt, /* unsigned integer */
TypeUnsignedShort, /* unsigned short integer */ TypeUnsignedShort, /* unsigned short integer */
TypeUnsignedChar, /* a single unsigned character */
#ifndef NO_FP #ifndef NO_FP
TypeFP, /* floating point */ TypeFP, /* floating point */
#endif #endif
@ -164,7 +163,6 @@ union AnyValue
unsigned char Character; unsigned char Character;
short ShortInteger; short ShortInteger;
int Integer; int Integer;
unsigned char UnsignedCharacter;
unsigned short UnsignedShortInteger; unsigned short UnsignedShortInteger;
unsigned int UnsignedInteger; unsigned int UnsignedInteger;
char *Identifier; char *Identifier;

6
type.c
View file

@ -7,7 +7,6 @@ struct ValueType ShortType;
struct ValueType CharType; struct ValueType CharType;
struct ValueType UnsignedIntType; struct ValueType UnsignedIntType;
struct ValueType UnsignedShortType; struct ValueType UnsignedShortType;
struct ValueType UnsignedCharType;
#ifndef NO_FP #ifndef NO_FP
struct ValueType FPType; struct ValueType FPType;
#endif #endif
@ -122,10 +121,9 @@ void TypeInit()
UberType.DerivedTypeList = NULL; UberType.DerivedTypeList = NULL;
TypeAddBaseType(&IntType, TypeInt, sizeof(int)); TypeAddBaseType(&IntType, TypeInt, sizeof(int));
TypeAddBaseType(&ShortType, TypeShort, sizeof(short)); TypeAddBaseType(&ShortType, TypeShort, sizeof(short));
TypeAddBaseType(&CharType, TypeChar, sizeof(char)); TypeAddBaseType(&CharType, TypeChar, sizeof(unsigned char));
TypeAddBaseType(&UnsignedIntType, TypeUnsignedInt, sizeof(unsigned int)); TypeAddBaseType(&UnsignedIntType, TypeUnsignedInt, sizeof(unsigned int));
TypeAddBaseType(&UnsignedShortType, TypeUnsignedShort, sizeof(unsigned short)); TypeAddBaseType(&UnsignedShortType, TypeUnsignedShort, sizeof(unsigned short));
TypeAddBaseType(&UnsignedCharType, TypeUnsignedChar, sizeof(unsigned char));
TypeAddBaseType(&VoidType, TypeVoid, 0); TypeAddBaseType(&VoidType, TypeVoid, 0);
TypeAddBaseType(&FunctionType, TypeFunction, sizeof(int)); TypeAddBaseType(&FunctionType, TypeFunction, sizeof(int));
TypeAddBaseType(&MacroType, TypeMacro, sizeof(int)); TypeAddBaseType(&MacroType, TypeMacro, sizeof(int));
@ -324,7 +322,7 @@ int TypeParseFront(struct ParseState *Parser, struct ValueType **Typ)
{ {
case TokenIntType: case TokenLongType: *Typ = Unsigned ? &UnsignedIntType : &IntType; break; case TokenIntType: case TokenLongType: *Typ = Unsigned ? &UnsignedIntType : &IntType; break;
case TokenShortType: *Typ = Unsigned ? &UnsignedShortType : &ShortType; break; case TokenShortType: *Typ = Unsigned ? &UnsignedShortType : &ShortType; break;
case TokenCharType: *Typ = Unsigned ? &UnsignedCharType : &CharType; break; case TokenCharType: *Typ = &CharType; break;
#ifndef NO_FP #ifndef NO_FP
case TokenFloatType: case TokenDoubleType: *Typ = &FPType; break; case TokenFloatType: case TokenDoubleType: *Typ = &FPType; break;
#endif #endif