* array of const for currency, classes and interfaces fixed

git-svn-id: trunk@11 -
This commit is contained in:
florian 2005-05-17 21:17:35 +00:00
parent c76ede86f8
commit d4194bce53
2 changed files with 2189 additions and 2178 deletions

View File

@ -790,6 +790,9 @@ implementation
end; end;
floatdef : floatdef :
begin begin
if is_currency(lt) then
vtype:=vtCurrency
else
vtype:=vtExtended; vtype:=vtExtended;
freetemp:=false; freetemp:=false;
vaddr:=true; vaddr:=true;
@ -813,7 +816,14 @@ implementation
classrefdef : classrefdef :
vtype:=vtClass; vtype:=vtClass;
objectdef : objectdef :
vtype:=vtObject; if is_interface(lt) then
vtype:=vtInterface
else if is_class(lt) then
vtype:=vtClass
else if is_object(lt) then
vtype:=vtObject
else
internalerror(200505171);
stringdef : stringdef :
begin begin
if is_shortstring(lt) then if is_shortstring(lt) then

View File

@ -983,6 +983,7 @@ implementation
hp.left:=ctypeconvnode.create(hp.left,s32inttype); hp.left:=ctypeconvnode.create(hp.left,s32inttype);
end; end;
floatdef : floatdef :
if not(is_currency(hp.left.resulttype.def)) then
hp.left:=ctypeconvnode.create(hp.left,pbestrealtype^); hp.left:=ctypeconvnode.create(hp.left,pbestrealtype^);
procvardef : procvardef :
hp.left:=ctypeconvnode.create(hp.left,voidpointertype); hp.left:=ctypeconvnode.create(hp.left,voidpointertype);