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.
This commit is contained in:
Daniel Bertalan 2021-06-24 14:04:41 +02:00 committed by Ali Mohammad Pur
parent 33a341f5e1
commit b97a00d4b1
Notes: sideshowbarker 2024-07-19 01:59:31 +09:00
10 changed files with 14 additions and 11 deletions

View file

@ -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; }

View file

@ -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; }

View file

@ -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<size_t> read(FileDescription&, u64, UserOrKernelBuffer&, size_t) override;
virtual KResultOr<size_t> write(FileDescription&, u64, const UserOrKernelBuffer&, size_t) override { return -EINVAL; }

View file

@ -32,8 +32,11 @@ public:
KResultOr<NonnullRefPtr<FileDescription>> open_direction(Direction);
KResultOr<NonnullRefPtr<FileDescription>> 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

View file

@ -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; }

View file

@ -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();

View file

@ -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; }

View file

@ -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<PhysicalRegionDescriptor*>(m_prdt_region->vaddr().as_ptr()); }
OwnPtr<Region> m_prdt_region;

View file

@ -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<GenericInterruptHandler>::will_be_destroyed(); }
void will_be_destroyed() override { HardwareTimer<GenericInterruptHandler>::will_be_destroyed(); }
void enable_local_timer();
void disable_local_timer();

View file

@ -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;