* Convert array of widechar to pwidechar instead of pchar

This commit is contained in:
michael 2004-12-07 13:52:54 +00:00
parent 3310421621
commit 44bf61f445
3 changed files with 25 additions and 4 deletions

View File

@ -944,7 +944,15 @@ implementation
enumdef :
hp.left:=ctypeconvnode.create_internal(hp.left,s32inttype);
arraydef :
hp.left:=ctypeconvnode.create(hp.left,charpointertype);
begin
if is_chararray(hp.left.resulttype.def) then
hp.left:=ctypeconvnode.create_internal(hp.left,charpointertype)
else
if is_widechararray(hp.left.resulttype.def) then
hp.left:=ctypeconvnode.create_internal(hp.left,widecharpointertype)
else
CGMessagePos1(hp.left.fileinfo,type_e_wrong_type_in_array_constructor,hp.left.resulttype.def.typename);
end;
orddef :
begin
if is_integer(hp.left.resulttype.def) and
@ -1172,7 +1180,10 @@ begin
end.
{
$Log$
Revision 1.140 2004-12-05 12:28:11 peter
Revision 1.141 2004-12-07 13:52:54 michael
* Convert array of widechar to pwidechar instead of pchar
Revision 1.140 2004/12/05 12:28:11 peter
* procvar handling for tp procvar mode fixed
* proc to procvar moved from addrnode to typeconvnode
* inlininginfo is now allocated only for inline routines that

View File

@ -202,6 +202,7 @@ implementation
addtype('$boolean',booltype);
addtype('$void_pointer',voidpointertype);
addtype('$char_pointer',charpointertype);
addtype('$widechar_pointer',widecharpointertype);
addtype('$void_farpointer',voidfarpointertype);
addtype('$openchararray',openchararraytype);
addtype('$file',cfiletype);
@ -286,6 +287,7 @@ implementation
loadtype('boolean',booltype);
loadtype('void_pointer',voidpointertype);
loadtype('char_pointer',charpointertype);
loadtype('widechar_pointer',widecharpointertype);
loadtype('void_farpointer',voidfarpointertype);
loadtype('file',cfiletype);
loadtype('pvmt',pvmttype);
@ -386,6 +388,7 @@ implementation
{ some other definitions }
voidpointertype.setdef(tpointerdef.create(voidtype));
charpointertype.setdef(tpointerdef.create(cchartype));
widecharpointertype.setdef(tpointerdef.create(cwidechartype));
voidfarpointertype.setdef(tpointerdef.createfar(voidtype));
cfiletype.setdef(tfiledef.createuntyped);
cvarianttype.setdef(tvariantdef.create(vt_normalvariant));
@ -534,7 +537,10 @@ implementation
end.
{
$Log$
Revision 1.73 2004-11-08 22:09:59 peter
Revision 1.74 2004-12-07 13:52:54 michael
* Convert array of widechar to pwidechar instead of pchar
Revision 1.73 2004/11/08 22:09:59 peter
* tvarsym splitted
Revision 1.72 2004/10/15 09:14:17 mazen

View File

@ -714,6 +714,7 @@ interface
generrortype, { error in definition }
voidpointertype, { pointer for Void-Pointerdef }
charpointertype, { pointer for Char-Pointerdef }
widecharpointertype, { pointer for WideChar-Pointerdef }
voidfarpointertype,
cformaltype, { unique formal definition }
voidtype, { Void (procedure) }
@ -6123,7 +6124,10 @@ implementation
end.
{
$Log$
Revision 1.282 2004-12-05 12:28:11 peter
Revision 1.283 2004-12-07 13:52:54 michael
* Convert array of widechar to pwidechar instead of pchar
Revision 1.282 2004/12/05 12:28:11 peter
* procvar handling for tp procvar mode fixed
* proc to procvar moved from addrnode to typeconvnode
* inlininginfo is now allocated only for inline routines that