* destructor can have args in TP mode only (bug825 and 839)

This commit is contained in:
pierre 2000-03-14 16:37:25 +00:00
parent d54b55a11b
commit cadf4cc024
2 changed files with 31 additions and 15 deletions

View File

@ -920,17 +920,26 @@ unit pstatmnt;
end end
else else
begin begin
p2:=genmethodcallnode(pprocsym(sym),srsymtable,p2); if (m_tp in aktmodeswitches) then
{ support dispose(p,done()); } begin
if try_to_consume(_LKLAMMER) then { Constructors can take parameters.}
begin p2^.resulttype:=ppointerdef(pd)^.pointertype.def;
if not try_to_consume(_RKLAMMER) then do_member_read(false,sym,p2,pd,again);
begin end
Message(parser_e_no_paras_for_destructor); else
consume_all_until(_RKLAMMER); begin
consume(_RKLAMMER); p2:=genmethodcallnode(pprocsym(sym),srsymtable,p2);
end; { support dispose(p,done()); }
end; if try_to_consume(_LKLAMMER) then
begin
if not try_to_consume(_RKLAMMER) then
begin
Message(parser_e_no_paras_for_destructor);
consume_all_until(_RKLAMMER);
consume(_RKLAMMER);
end;
end;
end;
end; end;
{ we need the real called method } { we need the real called method }
@ -1349,7 +1358,10 @@ unit pstatmnt;
end. end.
{ {
$Log$ $Log$
Revision 1.123 2000-02-29 23:59:47 pierre Revision 1.124 2000-03-14 16:37:25 pierre
* destructor can have args in TP mode only (bug825 and 839)
Revision 1.123 2000/02/29 23:59:47 pierre
Use $GOTO ON Use $GOTO ON
Revision 1.122 2000/02/09 13:22:59 peter Revision 1.122 2000/02/09 13:22:59 peter
@ -1427,4 +1439,4 @@ end.
Revision 1.102 1999/09/16 23:05:54 florian Revision 1.102 1999/09/16 23:05:54 florian
* m68k compiler is again compilable (only gas writer, no assembler reader) * m68k compiler is again compilable (only gas writer, no assembler reader)
} }

View File

@ -707,7 +707,8 @@ uses
{$endif} {$endif}
consume(_SEMICOLON); consume(_SEMICOLON);
if not(aktprocsym^.definition^.para^.empty) then if not(aktprocsym^.definition^.para^.empty) then
Message(parser_e_no_paras_for_destructor); if not (m_tp in aktmodeswitches) then
Message(parser_e_no_paras_for_destructor);
{ no return value } { no return value }
aktprocsym^.definition^.rettype.def:=voiddef; aktprocsym^.definition^.rettype.def:=voiddef;
end; end;
@ -1548,7 +1549,10 @@ uses
end. end.
{ {
$Log$ $Log$
Revision 1.21 2000-03-11 21:11:24 daniel Revision 1.22 2000-03-14 16:37:26 pierre
* destructor can have args in TP mode only (bug825 and 839)
Revision 1.21 2000/03/11 21:11:24 daniel
* Ported hcgdata to new symtable. * Ported hcgdata to new symtable.
* Alignment code changed as suggested by Peter * Alignment code changed as suggested by Peter
+ Usage of my is operator replacement, is_object + Usage of my is operator replacement, is_object