* Split po_public into po_public and po_global (Peter)

This commit is contained in:
michael 2004-11-19 08:17:01 +00:00
parent 3514a4c3d9
commit 180966c0aa
6 changed files with 39 additions and 18 deletions

View File

@ -1566,7 +1566,7 @@ implementation
{$ifdef GDB}
if (cs_debuginfo in aktmoduleswitches) then
begin
if (po_public in current_procinfo.procdef.procoptions) then
if (po_global in current_procinfo.procdef.procoptions) then
Tprocsym(current_procinfo.procdef.procsym).is_global:=true;
current_procinfo.procdef.concatstabto(list);
Tprocsym(current_procinfo.procdef.procsym).isstabwritten:=true;
@ -1583,7 +1583,7 @@ implementation
list.concat(Tai_stab_function_name.create(strpnew(hs)));
{$endif GDB}
if (cs_profile in aktmoduleswitches) or
(po_public in current_procinfo.procdef.procoptions) then
(po_global in current_procinfo.procdef.procoptions) then
list.concat(Tai_symbol.createname_global(hs,AT_FUNCTION,0))
else
list.concat(Tai_symbol.createname(hs,AT_FUNCTION,0));
@ -2210,7 +2210,10 @@ implementation
end.
{
$Log$
Revision 1.241 2004-11-15 23:35:31 peter
Revision 1.242 2004-11-19 08:17:01 michael
* Split po_public into po_public and po_global (Peter)
Revision 1.241 2004/11/15 23:35:31 peter
* tparaitem removed, use tparavarsym instead
* parameter order is now calculated from paranr value in tparavarsym

View File

@ -803,7 +803,7 @@ implementation
(symtablestack.symtabletype=objectsymtable) or
(symtablestack.symtablelevel=main_program_level)
) then
include(pd.procoptions,po_public);
include(pd.procoptions,po_global);
{ symbol options that need to be kept per procdef }
pd.fileinfo:=procstartfilepos;
@ -1369,7 +1369,7 @@ const
pd_flags : [pd_body,pd_interface,pd_implemen,pd_notobjintf];
handler : @pd_export;
pocall : pocall_none;
pooption : [po_exports,po_public];
pooption : [po_exports,po_global];
mutexclpocall : [pocall_internproc,pocall_inline];
mutexclpotype : [potype_constructor,potype_destructor];
mutexclpo : [po_external,po_interrupt]
@ -1523,7 +1523,7 @@ const
pd_flags : [pd_implemen,pd_body,pd_notobject,pd_notobjintf];
handler : @pd_public;
pocall : pocall_none;
pooption : [po_public];
pooption : [po_public,po_global];
mutexclpocall : [pocall_internproc,pocall_inline];
mutexclpotype : [];
mutexclpo : [po_external]
@ -1967,6 +1967,7 @@ const
begin
tprocdef(pd).aliasnames.insert(tprocdef(pd).procsym.realname);
include(pd.procoptions,po_public);
include(pd.procoptions,po_has_public_name);
end;
while token in [_ID,_LECKKLAMMER] do
@ -2328,7 +2329,10 @@ const
end.
{
$Log$
Revision 1.209 2004-11-17 22:41:41 peter
Revision 1.210 2004-11-19 08:17:01 michael
* Split po_public into po_public and po_global (Peter)
Revision 1.209 2004/11/17 22:41:41 peter
* make some checks EXTDEBUG only for now so linux cycles again
Revision 1.208 2004/11/17 22:21:35 peter

View File

@ -786,7 +786,7 @@ implementation
inc(ps.refs);
symtablestack.insert(ps);
pd:=tprocdef.create(main_program_level);
include(pd.procoptions,po_public);
include(pd.procoptions,po_global);
pd.procsym:=ps;
ps.addprocdef(pd);
{ restore symtable }
@ -1521,7 +1521,10 @@ implementation
end.
{
$Log$
Revision 1.175 2004-11-16 20:32:40 peter
Revision 1.176 2004-11-19 08:17:02 michael
* Split po_public into po_public and po_global (Peter)
Revision 1.175 2004/11/16 20:32:40 peter
* fixes for win32 mangledname
Revision 1.174 2004/11/15 23:35:31 peter

View File

@ -1149,7 +1149,7 @@ implementation
{ set also the interface flag, for better error message when the
implementation doesn't much this header }
pd.interfacedef:=true;
include(pd.procoptions,po_public);
include(pd.procoptions,po_global);
pdflags:=[pd_interface];
end
else
@ -1159,7 +1159,7 @@ implementation
include(pdflags,pd_implemen);
if (not current_module.is_unit) or
maybe_smartlink_symbol then
include(pd.procoptions,po_public);
include(pd.procoptions,po_global);
pd.forwarddef:=false;
end;
@ -1438,7 +1438,10 @@ implementation
end.
{
$Log$
Revision 1.217 2004-11-17 22:21:35 peter
Revision 1.218 2004-11-19 08:17:02 michael
* Split po_public into po_public and po_global (Peter)
Revision 1.217 2004/11/17 22:21:35 peter
mangledname setting moved to place after the complete proc declaration is read
import generation moved to place where body is also parsed (still gives problems with win32)

View File

@ -247,7 +247,8 @@ type
po_nostackframe,
po_has_mangledname,
po_has_public_name,
po_forward
po_forward,
po_global
);
tprocoptions=set of tprocoption;
@ -427,7 +428,10 @@ initialization
end.
{
$Log$
Revision 1.94 2004-11-17 22:21:35 peter
Revision 1.95 2004-11-19 08:17:02 michael
* Split po_public into po_public and po_global (Peter)
Revision 1.94 2004/11/17 22:21:35 peter
mangledname setting moved to place after the complete proc declaration is read
import generation moved to place where body is also parsed (still gives problems with win32)

View File

@ -828,7 +828,8 @@ type
po_nostackframe,
po_has_mangledname,
po_has_public_name,
po_forward
po_forward,
po_global
);
tprocoptions=set of tprocoption;
procedure read_abstract_proc_def(var proccalloption:tproccalloption;var procoptions:tprocoptions);
@ -896,7 +897,8 @@ const
(mask:po_nostackframe; str:'NoStackFrame'),
(mask:po_has_mangledname; str:'HasMangledName'),
(mask:po_has_public_name; str:'HasPublicName'),
(mask:po_forward; str:'Forward')
(mask:po_forward; str:'Forward'),
(mask:po_global; str:'Global')
);
var
proctypeoption : tproctypeoption;
@ -1442,7 +1444,6 @@ begin
read_abstract_proc_def(calloption,procoptions);
if (po_has_mangledname in procoptions) then
writeln(space,' Mangled name : ',getstring);
writeln(space,' Overload Number : ',getword);
writeln(space,' Number : ',getword);
writeln(space,' Level : ',getbyte);
write (space,' Class : ');
@ -2087,7 +2088,10 @@ begin
end.
{
$Log$
Revision 1.61 2004-11-17 22:22:12 peter
Revision 1.62 2004-11-19 08:17:02 michael
* Split po_public into po_public and po_global (Peter)
Revision 1.61 2004/11/17 22:22:12 peter
mangledname setting moved to place after the complete proc declaration is read
import generation moved to place where body is also parsed (still gives problems with win32)