diff --git a/compiler/pdecsub.pas b/compiler/pdecsub.pas index 4e3f4f7616..4ed16df53b 100644 --- a/compiler/pdecsub.pas +++ b/compiler/pdecsub.pas @@ -73,9 +73,9 @@ implementation cutils,cclasses, { global } globtype,globals,verbose, - systems,cpubase, + systems, { aasm } - aasmbase,aasmtai,aasmcpu, + aasmbase, { symtable } symbase,symtable,defutil,defcmp,paramgr, { pass 1 } @@ -85,9 +85,7 @@ implementation fmodule,scanner, pbase,pexpr,ptype,pdecl, { linking } - import,gendef, - { codegen } - cpuinfo,cgbase + import,gendef ; const @@ -1713,15 +1711,18 @@ const available to contain it } if parse_only then begin - { if external is available, then cdecl must also be available } - if (po_external in pd.procoptions) and + { if external is available, then cdecl must also be available, + procvars don't need external } + if not((po_external in pd.procoptions) or + (pd.deftype=procvardef)) and not(pd.proccalloption in [pocall_cdecl,pocall_cppdecl]) then Message(parser_e_varargs_need_cdecl_and_external); end else begin { both must be defined now } - if not(po_external in pd.procoptions) or + if not((po_external in pd.procoptions) or + (pd.deftype=procvardef)) or not(pd.proccalloption in [pocall_cdecl,pocall_cppdecl]) then Message(parser_e_varargs_need_cdecl_and_external); end; @@ -2126,7 +2127,10 @@ const end. { $Log$ - Revision 1.146 2003-10-05 21:21:52 peter + Revision 1.147 2003-10-07 20:52:54 peter + * procvar varargs fixed + + Revision 1.146 2003/10/05 21:21:52 peter * c style array of const generates callparanodes * varargs paraloc fixes