|
@@ -6325,7 +6325,11 @@ TYPE
|
|
|
((expressionType IS SyntaxTree.NumberType) OR (expressionType IS SyntaxTree.AddressType) OR (expressionType IS SyntaxTree.SizeType)
|
|
|
OR (expressionType IS SyntaxTree.EnumerationType)
|
|
|
) THEN
|
|
|
- result := NewConversion(designator.position,expression,typeDeclaration.declaredType,left)
|
|
|
+ IF ((type IS SyntaxTree.AddressType) OR (type IS SyntaxTree.IntegerType) & (~type(SyntaxTree.IntegerType).signed)) & (expressionType IS SyntaxTree.FloatType) THEN
|
|
|
+ Error(left.position,"invalid unsigned type in explicit conversion");
|
|
|
+ ELSE
|
|
|
+ result := NewConversion(designator.position,expression,typeDeclaration.declaredType,left)
|
|
|
+ END;
|
|
|
ELSE
|
|
|
Error(left.position,"invalid type in explicit conversion");
|
|
|
END;
|