Code: Select all
extern "c++"
type foo extends object
a as integer
declare virtual destructor
end type
end extern
destructor foo
end destructor
By removing the extern "c++", all works correctly
If the lines "Destructor...end destructor" are removed, if "extern c++" is used, the linker would report two missing references to the destructor.
I suspect the cause of this behavior is that in a C++ class two destructors are supposed to exist (I found a bug about that some years ago), and the in the example above only one is created, instead of two
Strangely, if the keyword "virtual" is removed all works as it should. So I assume it's a bug of the compiler.