* Def file syntax for win32 with index corrected

* direct output of .edata leads to same indexes
    (index 5 leads to next export being 6 unless otherwise
    specified like for enums)
This commit is contained in:
pierre 1999-11-22 22:20:43 +00:00
parent 8b175f661e
commit 00a8ec4695
2 changed files with 25 additions and 19 deletions

View File

@ -89,7 +89,7 @@ unit pexports;
val(pattern,hp^.index,code); val(pattern,hp^.index,code);
consume(_INTCONST); consume(_INTCONST);
if target_os.id=os_i386_win32 then if target_os.id=os_i386_win32 then
DefString:=ProcName+' @'+tostr(hp^.index)+'='+InternalProcName DefString:=ProcName+'='+InternalProcName+' @ '+tostr(hp^.index)
else else
DefString:=ProcName+'='+InternalProcName; {Index ignored!} DefString:=ProcName+'='+InternalProcName; {Index ignored!}
end; end;
@ -136,7 +136,13 @@ end.
{ {
$Log$ $Log$
Revision 1.14 1999-11-20 01:19:10 pierre Revision 1.15 1999-11-22 22:20:43 pierre
* Def file syntax for win32 with index corrected
* direct output of .edata leads to same indexes
(index 5 leads to next export being 6 unless otherwise
specified like for enums)
Revision 1.14 1999/11/20 01:19:10 pierre
* DLL index used for win32 target with DEF file * DLL index used for win32 target with DEF file
+ DLL initialization/finalization support + DLL initialization/finalization support

View File

@ -400,24 +400,18 @@ unit t_win32;
message1(parser_e_export_invalid_index,tostr(hp^.index)); message1(parser_e_export_invalid_index,tostr(hp^.index));
exit; exit;
end; end;
hp2:=pexported_item(current_module^._exports^.first); if (hp^.index<=last_index) then
while assigned(hp2) do
begin begin
if (hp^.index=hp2^.index) then message1(parser_e_export_ordinal_double,tostr(hp^.index));
if ((hp2^.options and eo_index)<>0) then { disregard index value }
begin inc(last_index);
message1(parser_e_export_ordinal_double,tostr(hp^.index)); hp^.index:=last_index;
exit; exit;
end end
else else
begin begin
inc(last_index); last_index:=hp^.index;
hp2^.index:=last_index;
end;
hp2:=pexported_item(hp2^.next);
end; end;
if hp^.index=last_index+1 then
inc(last_index);
end end
else else
begin begin
@ -1056,7 +1050,13 @@ end;
end. end.
{ {
$Log$ $Log$
Revision 1.8 1999-11-16 23:39:04 peter Revision 1.9 1999-11-22 22:20:43 pierre
* Def file syntax for win32 with index corrected
* direct output of .edata leads to same indexes
(index 5 leads to next export being 6 unless otherwise
specified like for enums)
Revision 1.8 1999/11/16 23:39:04 peter
* use outputexedir for link.res location * use outputexedir for link.res location
Revision 1.7 1999/11/15 15:01:56 pierre Revision 1.7 1999/11/15 15:01:56 pierre