mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-19 12:09:14 +02:00
* Fix comp errors. Patch by Евгений Савин. Fixes issue #41016
This commit is contained in:
parent
4b92df28cf
commit
0b0193106f
@ -2771,12 +2771,21 @@ var
|
|||||||
S : Single;
|
S : Single;
|
||||||
D : Double;
|
D : Double;
|
||||||
E : Extended;
|
E : Extended;
|
||||||
Co : Comp;
|
|
||||||
Cu : Currency;
|
Cu : Currency;
|
||||||
DestFloatType: TFloatType;
|
DestFloatType: TFloatType;
|
||||||
begin
|
begin
|
||||||
|
if TypeData^.FloatType = ftComp then
|
||||||
|
begin
|
||||||
|
aRes := False;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
// Destination float type
|
// Destination float type
|
||||||
DestFloatType := GetTypeData(aDestType)^.FloatType;
|
DestFloatType := GetTypeData(aDestType)^.FloatType;
|
||||||
|
if DestFloatType = ftComp then
|
||||||
|
begin
|
||||||
|
aRes := False;
|
||||||
|
Exit;
|
||||||
|
end;
|
||||||
ti:=FloatTypeToTypeInfo(DestFloatType);
|
ti:=FloatTypeToTypeInfo(DestFloatType);
|
||||||
case TypeData^.FloatType of
|
case TypeData^.FloatType of
|
||||||
ftSingle:
|
ftSingle:
|
||||||
@ -2786,7 +2795,6 @@ begin
|
|||||||
ftSingle: begin TValue.Make(@S, Ti,aDest); end;
|
ftSingle: begin TValue.Make(@S, Ti,aDest); end;
|
||||||
ftDouble: begin D := S; TValue.Make(@D, Ti,aDest); end;
|
ftDouble: begin D := S; TValue.Make(@D, Ti,aDest); end;
|
||||||
ftExtended: begin E := S; TValue.Make(@E, Ti,aDest); end;
|
ftExtended: begin E := S; TValue.Make(@E, Ti,aDest); end;
|
||||||
ftComp: begin Co := S; TValue.Make(@Co,Ti,aDest); end;
|
|
||||||
ftCurr: begin Cu := S; TValue.Make(@Cu,Ti,aDest); end;
|
ftCurr: begin Cu := S; TValue.Make(@Cu,Ti,aDest); end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -2797,7 +2805,6 @@ begin
|
|||||||
ftSingle: begin S := D; TValue.Make(@S, Ti,aDest); end;
|
ftSingle: begin S := D; TValue.Make(@S, Ti,aDest); end;
|
||||||
ftDouble: begin TValue.Make(@D, Ti,aDest); end;
|
ftDouble: begin TValue.Make(@D, Ti,aDest); end;
|
||||||
ftExtended: begin E := D; TValue.Make(@E, Ti,aDest); end;
|
ftExtended: begin E := D; TValue.Make(@E, Ti,aDest); end;
|
||||||
ftComp: begin Co := D; TValue.Make(@Co,Ti,aDest); end;
|
|
||||||
ftCurr: begin Cu := D; TValue.Make(@Cu,Ti,aDest); end;
|
ftCurr: begin Cu := D; TValue.Make(@Cu,Ti,aDest); end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
@ -2808,21 +2815,9 @@ begin
|
|||||||
ftSingle: begin S := E; TValue.Make(@S, Ti,aDest); end;
|
ftSingle: begin S := E; TValue.Make(@S, Ti,aDest); end;
|
||||||
ftDouble: begin D := E; TValue.Make(@D, Ti,aDest); end;
|
ftDouble: begin D := E; TValue.Make(@D, Ti,aDest); end;
|
||||||
ftExtended: begin TValue.Make(@E, Ti,aDest); end;
|
ftExtended: begin TValue.Make(@E, Ti,aDest); end;
|
||||||
ftComp: begin Co := E; TValue.Make(@Co,Ti,aDest); end;
|
|
||||||
ftCurr: begin Cu := E; TValue.Make(@Cu,Ti,aDest); end;
|
ftCurr: begin Cu := E; TValue.Make(@Cu,Ti,aDest); end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
ftComp:
|
|
||||||
begin
|
|
||||||
Co:=FData.FAsComp;
|
|
||||||
case DestFloatType of
|
|
||||||
ftSingle: begin S := Co; TValue.Make(@S, Ti,aDest); end;
|
|
||||||
ftDouble: begin D := Co; TValue.Make(@D, Ti,aDest); end;
|
|
||||||
ftExtended: begin E := Co; TValue.Make(@E, Ti,aDest); end;
|
|
||||||
ftComp: begin TValue.Make(@Co,Ti,aDest); end;
|
|
||||||
ftCurr: begin Cu := Co; TValue.Make(@Cu,Ti,aDest); end;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
ftCurr:
|
ftCurr:
|
||||||
begin
|
begin
|
||||||
Cu:=AsCurrency;
|
Cu:=AsCurrency;
|
||||||
@ -2830,7 +2825,6 @@ begin
|
|||||||
ftSingle: begin S := Cu; TValue.Make(@S, Ti,aDest); end;
|
ftSingle: begin S := Cu; TValue.Make(@S, Ti,aDest); end;
|
||||||
ftDouble: begin D := Cu; TValue.Make(@D, Ti,aDest); end;
|
ftDouble: begin D := Cu; TValue.Make(@D, Ti,aDest); end;
|
||||||
ftExtended: begin E := Cu; TValue.Make(@E, Ti,aDest); end;
|
ftExtended: begin E := Cu; TValue.Make(@E, Ti,aDest); end;
|
||||||
ftComp: begin Co := Cu; TValue.Make(@Co,Ti,aDest); end;
|
|
||||||
ftCurr: begin TValue.Make(@Cu,Ti,aDest); end;
|
ftCurr: begin TValue.Make(@Cu,Ti,aDest); end;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
Loading…
Reference in New Issue
Block a user