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:
parent
f1aeadb077
commit
274f21fdbc
|
@ -159,7 +159,6 @@ void PrintType(struct ValueType *Typ, struct OutputStream *Stream)
|
|||
case TypeChar: PrintStr("char", Stream); break;
|
||||
case TypeUnsignedInt: PrintStr("unsigned int", Stream); break;
|
||||
case TypeUnsignedShort: PrintStr("unsigned short", Stream); break;
|
||||
case TypeUnsignedChar: PrintStr("unsigned char", Stream); break;
|
||||
#ifndef NO_FP
|
||||
case TypeFP: PrintStr("double", Stream); break;
|
||||
#endif
|
||||
|
|
|
@ -136,7 +136,6 @@ int ExpressionCoerceInteger(struct Value *Val)
|
|||
case TypeChar: return (int)Val->Val->Character;
|
||||
case TypeShort: return (int)Val->Val->ShortInteger;
|
||||
case TypeUnsignedInt: return (int)Val->Val->UnsignedInteger;
|
||||
case TypeUnsignedChar: return (int)Val->Val->UnsignedCharacter;
|
||||
case TypeUnsignedShort: return (int)Val->Val->UnsignedShortInteger;
|
||||
case TypePointer: return (int)Val->Val->NativePointer;
|
||||
#ifndef NO_FP
|
||||
|
@ -154,7 +153,6 @@ unsigned int ExpressionCoerceUnsignedInteger(struct Value *Val)
|
|||
case TypeChar: return (unsigned int)Val->Val->Character;
|
||||
case TypeShort: return (unsigned int)Val->Val->ShortInteger;
|
||||
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 TypePointer: return (unsigned int)Val->Val->NativePointer;
|
||||
#ifndef NO_FP
|
||||
|
@ -172,7 +170,6 @@ double ExpressionCoerceFP(struct Value *Val)
|
|||
case TypeChar: return (double)Val->Val->Character;
|
||||
case TypeShort: return (double)Val->Val->ShortInteger;
|
||||
case TypeUnsignedInt: return (double)Val->Val->UnsignedInteger;
|
||||
case TypeUnsignedChar: return (double)Val->Val->UnsignedCharacter;
|
||||
case TypeUnsignedShort: return (double)Val->Val->UnsignedShortInteger;
|
||||
#ifndef NO_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 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 TypeUnsignedShort: DestValue->Val->UnsignedShortInteger = ExpressionCoerceUnsignedInteger(SourceValue); break;
|
||||
case TypeUnsignedChar: DestValue->Val->UnsignedCharacter = ExpressionCoerceUnsignedInteger(SourceValue); break;
|
||||
|
||||
#ifndef NO_FP
|
||||
case TypeFP:
|
||||
|
|
4
picoc.h
4
picoc.h
|
@ -115,10 +115,9 @@ enum BaseType
|
|||
TypeVoid, /* no type */
|
||||
TypeInt, /* integer */
|
||||
TypeShort, /* short integer */
|
||||
TypeChar, /* a single character */
|
||||
TypeChar, /* a single character (unsigned) */
|
||||
TypeUnsignedInt, /* unsigned integer */
|
||||
TypeUnsignedShort, /* unsigned short integer */
|
||||
TypeUnsignedChar, /* a single unsigned character */
|
||||
#ifndef NO_FP
|
||||
TypeFP, /* floating point */
|
||||
#endif
|
||||
|
@ -164,7 +163,6 @@ union AnyValue
|
|||
unsigned char Character;
|
||||
short ShortInteger;
|
||||
int Integer;
|
||||
unsigned char UnsignedCharacter;
|
||||
unsigned short UnsignedShortInteger;
|
||||
unsigned int UnsignedInteger;
|
||||
char *Identifier;
|
||||
|
|
6
type.c
6
type.c
|
@ -7,7 +7,6 @@ struct ValueType ShortType;
|
|||
struct ValueType CharType;
|
||||
struct ValueType UnsignedIntType;
|
||||
struct ValueType UnsignedShortType;
|
||||
struct ValueType UnsignedCharType;
|
||||
#ifndef NO_FP
|
||||
struct ValueType FPType;
|
||||
#endif
|
||||
|
@ -122,10 +121,9 @@ void TypeInit()
|
|||
UberType.DerivedTypeList = NULL;
|
||||
TypeAddBaseType(&IntType, TypeInt, sizeof(int));
|
||||
TypeAddBaseType(&ShortType, TypeShort, sizeof(short));
|
||||
TypeAddBaseType(&CharType, TypeChar, sizeof(char));
|
||||
TypeAddBaseType(&CharType, TypeChar, sizeof(unsigned char));
|
||||
TypeAddBaseType(&UnsignedIntType, TypeUnsignedInt, sizeof(unsigned int));
|
||||
TypeAddBaseType(&UnsignedShortType, TypeUnsignedShort, sizeof(unsigned short));
|
||||
TypeAddBaseType(&UnsignedCharType, TypeUnsignedChar, sizeof(unsigned char));
|
||||
TypeAddBaseType(&VoidType, TypeVoid, 0);
|
||||
TypeAddBaseType(&FunctionType, TypeFunction, 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 TokenShortType: *Typ = Unsigned ? &UnsignedShortType : &ShortType; break;
|
||||
case TokenCharType: *Typ = Unsigned ? &UnsignedCharType : &CharType; break;
|
||||
case TokenCharType: *Typ = &CharType; break;
|
||||
#ifndef NO_FP
|
||||
case TokenFloatType: case TokenDoubleType: *Typ = &FPType; break;
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue