* defutil.pas: added UnicodeString to automatable types, fixes compilation of webtbs/tw2649.pp after r16360. However it requires RTL support similar to one for AnsiString to be complete.

* ncal.pas, translate_disp_call(): fixed parameter alignment once more, this time it should be correct for both 32 and 64 bit platforms.

git-svn-id: trunk@16394 -
This commit is contained in:
sergei 2010-11-21 18:10:11 +00:00
parent 3b7bb9da6a
commit b4ac714201
2 changed files with 4 additions and 4 deletions

View File

@ -1047,7 +1047,7 @@ implementation
floatdef:
result:=tfloatdef(p).floattype in [s64currency,s64real,s32real];
stringdef:
result:=tstringdef(p).stringtype in [st_ansistring,st_widestring];
result:=tstringdef(p).stringtype in [st_ansistring,st_widestring,st_unicodestring];
variantdef:
result:=true;
objectdef:

View File

@ -400,7 +400,7 @@ implementation
{ we've to know the parameter size to allocate the temp. space }
is_byref_para(assignmenttype);
inc(paramssize, assignmenttype.size);
inc(paramssize,max(voidpointertype.size,assignmenttype.size));
para:=tcallparanode(para.nextpara);
end;
@ -454,7 +454,7 @@ implementation
restype:=restype or $80;
{ assign the argument/parameter to the temporary location }
{ we always pass Variants by reference, RTL helpers must handle it
{ for Variants, we always pass a pointer, RTL helpers must handle it
depending on byref bit }
if assignmenttype=voidpointertype then
@ -474,7 +474,7 @@ implementation
)),assignmenttype),
ctypeconvnode.create_internal(para.left,assignmenttype)));
inc(paramssize,assignmenttype.size);
inc(paramssize,max(voidpointertype.size,assignmenttype.size));
calldescnode.appendbyte(restype);
para.left:=nil;