From b97a00d4b1324e474f8ff37269773f93c2af2161 Mon Sep 17 00:00:00 2001 From: Daniel Bertalan Date: Thu, 24 Jun 2021 14:04:41 +0200 Subject: [PATCH] Kernel: Add missing override specifiers The `#pragma GCC diagnostic` part is needed because the class has virtual methods with the same name but different arguments, and Clang tries to warn us that we are not actually overriding anything with these. Weirdly enough, GCC does not seem to care. --- Kernel/Devices/HID/KeyboardDevice.h | 2 +- Kernel/Devices/HID/MouseDevice.h | 2 +- Kernel/Devices/MemoryDevice.h | 2 +- Kernel/FileSystem/FIFO.h | 3 +++ Kernel/Interrupts/IOAPIC.h | 2 +- Kernel/Interrupts/IRQHandler.h | 2 +- Kernel/Interrupts/PIC.h | 2 +- Kernel/Storage/BMIDEChannel.h | 6 +++--- Kernel/Time/APICTimer.h | 2 +- Kernel/Time/HardwareTimer.h | 2 +- 10 files changed, 14 insertions(+), 11 deletions(-) diff --git a/Kernel/Devices/HID/KeyboardDevice.h b/Kernel/Devices/HID/KeyboardDevice.h index 35585d6836..28a9a77d35 100644 --- a/Kernel/Devices/HID/KeyboardDevice.h +++ b/Kernel/Devices/HID/KeyboardDevice.h @@ -30,7 +30,7 @@ public: virtual bool can_write(const FileDescription&, size_t) const override { return true; } // ^HIDDevice - virtual Type instrument_type() const { return Type::Keyboard; } + virtual Type instrument_type() const override { return Type::Keyboard; } // ^Device virtual mode_t required_mode() const override { return 0440; } diff --git a/Kernel/Devices/HID/MouseDevice.h b/Kernel/Devices/HID/MouseDevice.h index a0e3c35f75..bc0d112301 100644 --- a/Kernel/Devices/HID/MouseDevice.h +++ b/Kernel/Devices/HID/MouseDevice.h @@ -29,7 +29,7 @@ public: virtual bool can_write(const FileDescription&, size_t) const override { return true; } // ^HIDDevice - virtual Type instrument_type() const { return Type::Mouse; } + virtual Type instrument_type() const override { return Type::Mouse; } // ^Device virtual mode_t required_mode() const override { return 0440; } diff --git a/Kernel/Devices/MemoryDevice.h b/Kernel/Devices/MemoryDevice.h index 688d81275b..21163ec727 100644 --- a/Kernel/Devices/MemoryDevice.h +++ b/Kernel/Devices/MemoryDevice.h @@ -30,7 +30,7 @@ private: virtual const char* class_name() const override { return "MemoryDevice"; } virtual bool can_read(const FileDescription&, size_t) const override { return true; } virtual bool can_write(const FileDescription&, size_t) const override { return false; } - virtual bool is_seekable() const { return true; } + virtual bool is_seekable() const override { return true; } virtual KResultOr read(FileDescription&, u64, UserOrKernelBuffer&, size_t) override; virtual KResultOr write(FileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return -EINVAL; } diff --git a/Kernel/FileSystem/FIFO.h b/Kernel/FileSystem/FIFO.h index d0cefd91db..52b6343e9d 100644 --- a/Kernel/FileSystem/FIFO.h +++ b/Kernel/FileSystem/FIFO.h @@ -32,8 +32,11 @@ public: KResultOr> open_direction(Direction); KResultOr> open_direction_blocking(Direction); +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Woverloaded-virtual" void attach(Direction); void detach(Direction); +#pragma GCC diagnostic pop private: // ^File diff --git a/Kernel/Interrupts/IOAPIC.h b/Kernel/Interrupts/IOAPIC.h index c52709676e..6607c9db22 100644 --- a/Kernel/Interrupts/IOAPIC.h +++ b/Kernel/Interrupts/IOAPIC.h @@ -50,7 +50,7 @@ public: virtual u16 get_isr() const override; virtual u16 get_irr() const override; virtual u32 gsi_base() const override { return m_gsi_base; } - virtual size_t interrupt_vectors_count() const { return m_redirection_entries_count; } + virtual size_t interrupt_vectors_count() const override { return m_redirection_entries_count; } virtual const char* model() const override { return "IOAPIC"; }; virtual IRQControllerType type() const override { return IRQControllerType::i82093AA; } diff --git a/Kernel/Interrupts/IRQHandler.h b/Kernel/Interrupts/IRQHandler.h index 08e2e9bd32..ffd8ec9f52 100644 --- a/Kernel/Interrupts/IRQHandler.h +++ b/Kernel/Interrupts/IRQHandler.h @@ -18,7 +18,7 @@ class IRQHandler : public GenericInterruptHandler { public: virtual ~IRQHandler(); - virtual bool handle_interrupt(const RegisterState& regs) { return handle_irq(regs); } + virtual bool handle_interrupt(const RegisterState& regs) override { return handle_irq(regs); } virtual bool handle_irq(const RegisterState&) = 0; void enable_irq(); diff --git a/Kernel/Interrupts/PIC.h b/Kernel/Interrupts/PIC.h index acd29143fe..b68ba899a0 100644 --- a/Kernel/Interrupts/PIC.h +++ b/Kernel/Interrupts/PIC.h @@ -23,7 +23,7 @@ public: virtual u16 get_isr() const override; virtual u16 get_irr() const override; virtual u32 gsi_base() const override { return 0; } - virtual size_t interrupt_vectors_count() const { return 16; } + virtual size_t interrupt_vectors_count() const override { return 16; } virtual const char* model() const override { return "Dual i8259"; } virtual IRQControllerType type() const override { return IRQControllerType::i8259; } diff --git a/Kernel/Storage/BMIDEChannel.h b/Kernel/Storage/BMIDEChannel.h index 2a8309dbdf..7810212d73 100644 --- a/Kernel/Storage/BMIDEChannel.h +++ b/Kernel/Storage/BMIDEChannel.h @@ -42,9 +42,9 @@ private: virtual bool handle_irq(const RegisterState&) override; //* IDEChannel - virtual void send_ata_io_command(LBAMode lba_mode, Direction direction) const; - virtual void ata_read_sectors(bool, u16); - virtual void ata_write_sectors(bool, u16); + virtual void send_ata_io_command(LBAMode lba_mode, Direction direction) const override; + virtual void ata_read_sectors(bool, u16) override; + virtual void ata_write_sectors(bool, u16) override; PhysicalRegionDescriptor& prdt() { return *reinterpret_cast(m_prdt_region->vaddr().as_ptr()); } OwnPtr m_prdt_region; diff --git a/Kernel/Time/APICTimer.h b/Kernel/Time/APICTimer.h index 6a48050486..0b6c5f5cc0 100644 --- a/Kernel/Time/APICTimer.h +++ b/Kernel/Time/APICTimer.h @@ -31,7 +31,7 @@ public: virtual bool is_capable_of_frequency(size_t frequency) const override; virtual size_t calculate_nearest_possible_frequency(size_t frequency) const override; - void will_be_destroyed() { HardwareTimer::will_be_destroyed(); } + void will_be_destroyed() override { HardwareTimer::will_be_destroyed(); } void enable_local_timer(); void disable_local_timer(); diff --git a/Kernel/Time/HardwareTimer.h b/Kernel/Time/HardwareTimer.h index ce555075e3..76adb108f6 100644 --- a/Kernel/Time/HardwareTimer.h +++ b/Kernel/Time/HardwareTimer.h @@ -132,7 +132,7 @@ public: virtual size_t sharing_devices_count() const override { return 0; } virtual bool is_shared_handler() const override { return false; } - virtual bool is_sharing_with_others() const { return false; } + virtual bool is_sharing_with_others() const override { return false; } virtual HandlerType type() const override { return HandlerType::IRQHandler; } virtual const char* controller() const override { return nullptr; } virtual bool eoi() override;