Mangler v1.32
Submitted By:
Unknown
Rating:
(Not rated) (
Rate It)
Known bugs
~~~~~~~~~~
* Mangler is not rock solid. Your file should at least pass the Borland
compiler, before you have a chance that mangler doesn't choke on it.
There are files which I know which broke mangler although I have not
got that files in hand so I could not fix mangler. You have a 0.8
probability that mangler mangles your file. Please report errors or
send me files that mangler does not handle.
* When using externals like
{$L InitCrt.obj}
{$F+}
Procedure ReInitCrt;external;
and InitCrt.obj references variables in a unit, you can mangle but
not compile this unit because Mangler does not know that the .obj
references variables or procedures in the unit and that it therefore
should leave them untouched.
The chance that mangler ever will be modified for this circumstances
is nil.
Fix: if possible turn the .obj to assembler and instead of making
an external routine, make a basm routine.
* The most stable source code manglers have to parse compiler
directives. This one does not, so some source code will be mangled
incorrectly or not at all. Note that almost all source using compiler
directives will compile. The following for example will not:
procedure dv_TObject.Int15_p0_r0(axValue : word);
{$IFNDEF DPMI} assembler; {$ENDIF}
{$IFDEF DPMI}
begin
{* do some stuff *}
end;
{$ELSE}
asm
{* do some asm stuff *}
end;
{$ENDIF}
Rewriting this to:
{$IFDEF DPMI}
procedure dv_TObject.Int15_p0_r0(axValue : word);
begin
{* do some stuff *}
end;
{$ELSE}
procedure dv_TObject.Int15_p0_r0(axValue : word); assembler;
asm
{* do some asm stuff *}
end;
{$ENDIF}
will make it compile correctly.
The