[Issue 22287] New: ambiguous virtual function for extern(C++) under Windows
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Sep 7 20:54:48 UTC 2021
https://issues.dlang.org/show_bug.cgi?id=22287
Issue ID: 22287
Summary: ambiguous virtual function for extern(C++) under
Windows
Product: D
Version: D2
Hardware: x86_64
OS: Windows
Status: NEW
Severity: normal
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: tim.dlang at t-online.de
The following does not compile under Windows with some compiler flags:
extern(C++):
class A
{
~this();
}
interface I
{
int f() const;
}
class B : A, I
{
override int f() const;
}
class C : B
{
override int f() const;
}
The code compiles under Linux with dmd -c test.d.
Compiling it under Windows with dmd -m32mscoff -c test.d results in the
following error:
test.d(18): Error: class `test.C` ambiguous virtual function `f`
test.d(18): Error: class `test.C` ambiguous virtual function `f`
Using -m64 instead of -m32mscoff results in the same error.
It can be successfully compiled under Windows with just dmd -c test.d, but I
don't know if the resulting binary would work.
All tests used dmd v2.097.2.
--
More information about the Digitalmars-d-bugs
mailing list