parent
081ecbd095
commit
a8f62703ab
|
|
@ -197,6 +197,7 @@ Nathan Graybeal
|
||||||
Nathan Kohagen
|
Nathan Kohagen
|
||||||
Nathan Myers
|
Nathan Myers
|
||||||
Nick Brereton
|
Nick Brereton
|
||||||
|
Nikolay Puzanov
|
||||||
Nolan Poe
|
Nolan Poe
|
||||||
Oleh Maksymenko
|
Oleh Maksymenko
|
||||||
Patrick Stewart
|
Patrick Stewart
|
||||||
|
|
|
||||||
|
|
@ -3406,7 +3406,7 @@ class LinkDotResolveVisitor final : public VNVisitor {
|
||||||
if (!baseFuncp || !baseFuncp->pureVirtual()) continue;
|
if (!baseFuncp || !baseFuncp->pureVirtual()) continue;
|
||||||
const bool existsInDerived = foundp && !foundp->imported();
|
const bool existsInDerived = foundp && !foundp->imported();
|
||||||
if (m_statep->forPrimary() && !existsInDerived
|
if (m_statep->forPrimary() && !existsInDerived
|
||||||
&& !derivedClassp->isInterfaceClass()) {
|
&& !derivedClassp->isInterfaceClass() && !derivedClassp->isVirtual()) {
|
||||||
derivedClassp->v3error(
|
derivedClassp->v3error(
|
||||||
"Class " << derivedClassp->prettyNameQ() << impOrExtends
|
"Class " << derivedClassp->prettyNameQ() << impOrExtends
|
||||||
<< baseClassp->prettyNameQ()
|
<< baseClassp->prettyNameQ()
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
# DESCRIPTION: Verilator: Verilog Test driver/expect definition
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify it
|
||||||
|
# under the terms of either the GNU Lesser General Public License Version 3
|
||||||
|
# or the Perl Artistic License Version 2.0.
|
||||||
|
# SPDX-FileCopyrightText: 2026 Wilson Snyder
|
||||||
|
# SPDX-License-Identifier: LGPL-3.0-only OR Artistic-2.0
|
||||||
|
|
||||||
|
import vltest_bootstrap
|
||||||
|
|
||||||
|
test.scenarios('vlt')
|
||||||
|
|
||||||
|
test.lint()
|
||||||
|
|
||||||
|
test.passes()
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
// DESCRIPTION: Verilator: Verilog Test module
|
||||||
|
//
|
||||||
|
// This file ONLY is placed under the Creative Commons Public Domain.
|
||||||
|
// SPDX-FileCopyrightText: 2026 Wilson Snyder
|
||||||
|
// SPDX-License-Identifier: CC0-1.0
|
||||||
|
|
||||||
|
virtual class Base;
|
||||||
|
pure virtual function void f0();
|
||||||
|
endclass
|
||||||
|
|
||||||
|
virtual class Child extends Base;
|
||||||
|
pure virtual function void f1();
|
||||||
|
endclass
|
||||||
|
|
||||||
|
class Impl extends Child;
|
||||||
|
virtual function void f0();
|
||||||
|
endfunction
|
||||||
|
virtual function void f1();
|
||||||
|
endfunction
|
||||||
|
endclass
|
||||||
|
|
||||||
|
module t;
|
||||||
|
endmodule
|
||||||
Loading…
Reference in New Issue