diff options
author | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2016-01-15 16:06:06 +0000 |
---|---|---|
committer | svenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2016-01-15 16:06:06 +0000 |
commit | b1b644abb6a62390910c6005e4e87b27fc51a8f2 (patch) | |
tree | 891802146406f75b8a50c9c0af86941ed556345f /compiler/export.pas | |
parent | 8f6567f71f1ba249587b77701d9adf5384ae660c (diff) | |
download | fpc-b1b644abb6a62390910c6005e4e87b27fc51a8f2.tar.gz |
Merged revision(s) 28691, 31914 from branches/svenbarth/packages:
Convert export options from constants to a set and accordingly adjust all usage locations
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@32945 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/export.pas')
-rw-r--r-- | compiler/export.pas | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/compiler/export.pas b/compiler/export.pas index d363d7434a..f168c1e924 100644 --- a/compiler/export.pas +++ b/compiler/export.pas @@ -31,18 +31,20 @@ uses symtype,symdef,symsym, aasmbase,aasmdata; -const +type { export options } - eo_resident = $1; - eo_index = $2; - eo_name = $4; + texportoption=(eo_none, + eo_resident, + eo_index, + eo_name + ); + texportoptions=set of texportoption; -type texported_item = class(TLinkedListItem) sym : tsym; index : longint; name : pshortstring; - options : word; + options : texportoptions; is_var : boolean; constructor create; destructor destroy;override; @@ -71,14 +73,14 @@ type TExportLibClass=class of TExportLib; - procedure exportprocsym(sym: tsym; const s : string; index: longint; options: word); - procedure exportvarsym(sym: tsym; const s : string; index: longint; options: word); + procedure exportprocsym(sym: tsym; const s : string; index: longint; options: texportoptions); + procedure exportvarsym(sym: tsym; const s : string; index: longint; options: texportoptions); { to export symbols not directly related to a tsym (e.g., the Objective-C rtti) } - procedure exportname(const s : string; options: word); + procedure exportname(const s : string; options: texportoptions); - procedure exportallprocdefnames(sym: tprocsym; pd: tprocdef; options: word); - procedure exportallprocsymnames(ps: tprocsym; options: word); + procedure exportallprocdefnames(sym: tprocsym; pd: tprocdef; options: texportoptions); + procedure exportallprocsymnames(ps: tprocsym; options: texportoptions); var @@ -98,20 +100,20 @@ uses TExported_procedure ****************************************************************************} -procedure exportprocsym(sym: tsym; const s : string; index: longint; options: word); +procedure exportprocsym(sym: tsym; const s : string; index: longint; options: texportoptions); var hp : texported_item; begin hp:=texported_item.create; hp.name:=stringdup(s); hp.sym:=sym; - hp.options:=options or eo_name; + hp.options:=options+[eo_name]; hp.index:=index; exportlib.exportprocedure(hp); end; -procedure exportvarsym(sym: tsym; const s : string; index: longint; options: word); +procedure exportvarsym(sym: tsym; const s : string; index: longint; options: texportoptions); var hp : texported_item; begin @@ -119,19 +121,19 @@ procedure exportvarsym(sym: tsym; const s : string; index: longint; options: wor hp.name:=stringdup(s); hp.sym:=sym; hp.is_var:=true; - hp.options:=options or eo_name; + hp.options:=options+[eo_name]; hp.index:=index; exportlib.exportvar(hp); end; -procedure exportname(const s : string; options: word); +procedure exportname(const s : string; options: texportoptions); begin exportvarsym(nil,s,0,options); end; - procedure exportallprocdefnames(sym: tprocsym; pd: tprocdef; options: word); + procedure exportallprocdefnames(sym: tprocsym; pd: tprocdef; options: texportoptions); var item: TCmdStrListItem; begin @@ -148,7 +150,7 @@ procedure exportname(const s : string; options: word); end; - procedure exportallprocsymnames(ps: tprocsym; options: word); + procedure exportallprocsymnames(ps: tprocsym; options: texportoptions); var i: longint; begin @@ -167,7 +169,7 @@ begin sym:=nil; index:=-1; name:=nil; - options:=0; + options:=[]; is_var:=false; end; |