--- nono/vm/test_busio.cpp 2026/04/29 17:04:36 1.1.1.2 +++ nono/vm/test_busio.cpp 2026/04/29 17:05:17 1.1.1.5 @@ -15,7 +15,7 @@ class IODevice { public: IODevice() {} - virtual ~IODevice() {} + virtual ~IODevice(); virtual uint64 Read8(uint32 addr) { return 0xef; } virtual uint64 Read16(uint32 addr) { @@ -38,7 +38,10 @@ class IODevice return r; } virtual uint64 Peek8(uint32 addr) { return 0xff; } + virtual uint64 Poke8(uint32 addr, uint32 data) { return (uint64)-1; } + virtual uint64 Poke(uint32 addr, uint32 data) { return (uint64)-1; } }; +IODevice::~IODevice() { } #define SELFTEST #include "busio.h" @@ -47,7 +50,7 @@ class TestByteDev : public IODevice { public: TestByteDev() {} - virtual ~TestByteDev() {} + virtual ~TestByteDev() override; static const uint32 NPORT = 4; uint32 reg[NPORT] {}; @@ -66,12 +69,13 @@ class TestByteDev : public IODevice return reg[addr]; } }; +TestByteDev::~TestByteDev() { } class TestWordDev : public IODevice { public: TestWordDev() {} - virtual ~TestWordDev() {} + virtual ~TestWordDev() override; static const uint32 NPORT = 4; uint32 reg[NPORT] {}; @@ -90,6 +94,7 @@ class TestWordDev : public IODevice return reg[addr]; } }; +TestWordDev::~TestWordDev() { } // テストデータ // expected[] の1エントリは1バイトを表す(WordDevの時も同様)。 @@ -252,7 +257,7 @@ main() // リンカを通すためのダミー void -panic(const char *funcname, const char *fmt, ...) +vmpanic_func(const char *funcname, const char *fmt, ...) { va_list ap;