| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- { FPC behaves interestingly once encountered virtual method
- declared as
- procedure TWhateverObject.Method1; assembler; asm ... end;
- if you ever try to overload such method _in another unit_,
- than compile _second unit_, and than try to compile it again (???)-
- you will end up with the message "Function header does not match
- forward declaration of TNewObject.Method1" although in reality
- it does match perfectly.
- sometimes i encounter the same message even on non-assembler methods,
- but i have not been able to reproduce them cleanly nor find the
- reason for such behavior.}
- unit tbug555a;
- interface
- type
- TBugObj = Object
- constructor Init;
- procedure Method1;
- procedure Method2;virtual;
- procedure Method3;
- procedure Method4;virtual;
- destructor Done;virtual;
- end;
- implementation
- Constructor TBugObj.Init;
- begin
- end;
- {$ASMMODE ATT}
- procedure TBugObj.Method1;assembler;
- asm
- movl $1,%eax
- end;
- procedure TBugObj.Method2;assembler;
- asm
- movl $1,%eax
- end;
- procedure TBugObj.Method3;
- begin
- end;
- procedure TBugObj.Method4;
- begin
- end;
- Destructor TBugObj.Done;
- begin
- end;
- end.
|