This is a bug that showed up while trying to fix this bug:
https://bugs.llvm.org/show_bug.cgi?id=32990
In the MS ABI, a deleting destructor is not generated when a record has dllimport attribute. The path is to suppress the generation of a deleting destructor.
This patch doesn't fix the bug mentioned in the link above.
Can you remove the semicolons after virtual method definitions here and elsewhere in this test case? They obscure the meaning of the test.