September 07, 2021 [Issue 22287] New: ambiguous virtual function for extern(C++) under Windows | ||||
---|---|---|---|---|
| ||||
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@puremagic.com Reporter: tim.dlang@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. -- |
Copyright © 1999-2021 by the D Language Foundation