digitalmars.D.bugs - [Issue 22287] New: ambiguous virtual function for extern(C++) under
- d-bugmail puremagic.com (42/42) Sep 07 2021 https://issues.dlang.org/show_bug.cgi?id=22287
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. --
Sep 07 2021