I noted that fpc uses different representation for class and interface.

classes are encoded as
  DW_TAG_structure (or class)

interfaces as
  DW_TAG_structure (or class)

The problem is, that for both class and interface the following is valid
  var a,b: IUnknown;
  if a=b then
And afaik for class and interface, this compares the pointer

I have not tested this, but I would expect that a debugger evaluating "a=b" would not be able to do the correctly for interfaces.
Instead the debugger would compare the empty structure of the interface.
This means that for the debugger any interface would equal to any other.

For classes, as far as I am aware = comparison currently works.

Any comments?

fpc-devel maillist  -  fpc-devel@lists.freepascal.org

Reply via email to