Mercurial > projects > ldc
comparison dmd/parse.c @ 1165:226c07c71967
This should fix integers below 64 bit on big-endian systems.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Sun, 29 Mar 2009 01:29:30 +0100 |
parents | b30fe7e1dbb9 |
children | e961851fb8be |
comparison
equal
deleted
inserted
replaced
1164:166042b48c28 | 1165:226c07c71967 |
---|---|
3983 e = new SuperExp(loc); | 3983 e = new SuperExp(loc); |
3984 nextToken(); | 3984 nextToken(); |
3985 break; | 3985 break; |
3986 | 3986 |
3987 case TOKint32v: | 3987 case TOKint32v: |
3988 e = new IntegerExp(loc, token.int32value, Type::tint32); | 3988 e = new IntegerExp(loc, (d_int32)token.int64value, Type::tint32); |
3989 nextToken(); | 3989 nextToken(); |
3990 break; | 3990 break; |
3991 | 3991 |
3992 case TOKuns32v: | 3992 case TOKuns32v: |
3993 e = new IntegerExp(loc, token.uns32value, Type::tuns32); | 3993 e = new IntegerExp(loc, (d_uns32)token.uns64value, Type::tuns32); |
3994 nextToken(); | 3994 nextToken(); |
3995 break; | 3995 break; |
3996 | 3996 |
3997 case TOKint64v: | 3997 case TOKint64v: |
3998 e = new IntegerExp(loc, token.int64value, Type::tint64); | 3998 e = new IntegerExp(loc, token.int64value, Type::tint64); |
4062 e = new IntegerExp(loc, 0, Type::tbool); | 4062 e = new IntegerExp(loc, 0, Type::tbool); |
4063 nextToken(); | 4063 nextToken(); |
4064 break; | 4064 break; |
4065 | 4065 |
4066 case TOKcharv: | 4066 case TOKcharv: |
4067 e = new IntegerExp(loc, token.uns32value, Type::tchar); | 4067 e = new IntegerExp(loc, (d_uns8)token.uns64value, Type::tchar); |
4068 nextToken(); | 4068 nextToken(); |
4069 break; | 4069 break; |
4070 | 4070 |
4071 case TOKwcharv: | 4071 case TOKwcharv: |
4072 e = new IntegerExp(loc, token.uns32value, Type::twchar); | 4072 e = new IntegerExp(loc, (d_uns16)token.uns64value, Type::twchar); |
4073 nextToken(); | 4073 nextToken(); |
4074 break; | 4074 break; |
4075 | 4075 |
4076 case TOKdcharv: | 4076 case TOKdcharv: |
4077 e = new IntegerExp(loc, token.uns32value, Type::tdchar); | 4077 e = new IntegerExp(loc, (d_uns32)token.uns64value, Type::tdchar); |
4078 nextToken(); | 4078 nextToken(); |
4079 break; | 4079 break; |
4080 | 4080 |
4081 case TOKstring: | 4081 case TOKstring: |
4082 { unsigned char *s; | 4082 { unsigned char *s; |