Skip to content

Commit

Permalink
Everywhere: Fix -Winconsistent-missing-override warnings from Clang
Browse files Browse the repository at this point in the history
This option is already enabled when building Lagom, so let's enable it
for the main build too. We will no longer be surprised by Lagom Clang
CI builds failing while everything compiles locally.

Furthermore, the stronger `-Wsuggest-override` warning is enabled in
this commit, which enforces the use of the `override` keyword in all
classes, not just those which already have some methods marked as
`override`. This works with both GCC and Clang.
  • Loading branch information
BertalanD authored and bgianfo committed Dec 11, 2021
1 parent 813593a commit 4a81b33
Show file tree
Hide file tree
Showing 22 changed files with 45 additions and 45 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,7 @@ add_compile_options(-Wlogical-op)
add_compile_options(-Wmisleading-indentation)
add_compile_options(-Wmissing-declarations)
add_compile_options(-Wnon-virtual-dtor)
add_compile_options(-Wsuggest-override)
add_compile_options(-Wno-unknown-warning-option)
add_compile_options(-Wundef)
add_compile_options(-Wunused)
Expand Down Expand Up @@ -186,7 +187,6 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang$")
add_compile_options(-Wno-atomic-alignment)
add_compile_options(-Wno-c99-designator)
add_compile_options(-Wno-implicit-const-int-float-conversion)
add_compile_options(-Wno-inconsistent-missing-override)
add_compile_options(-Wno-null-pointer-subtraction)
add_compile_options(-Wno-tautological-constant-out-of-range-compare)
add_compile_options(-Wno-unneeded-internal-declaration)
Expand Down
2 changes: 1 addition & 1 deletion Kernel/FileSystem/AnonymousFile.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class AnonymousFile final : public File {

private:
virtual StringView class_name() const override { return "AnonymousFile"sv; }
virtual ErrorOr<NonnullOwnPtr<KString>> pseudo_path(const OpenFileDescription&) const;
virtual ErrorOr<NonnullOwnPtr<KString>> pseudo_path(const OpenFileDescription&) const override;
virtual bool can_read(const OpenFileDescription&, size_t) const override { return false; }
virtual bool can_write(const OpenFileDescription&, size_t) const override { return false; }
virtual ErrorOr<size_t> read(OpenFileDescription&, u64, UserOrKernelBuffer&, size_t) override { return ENOTSUP; }
Expand Down
4 changes: 2 additions & 2 deletions Kernel/FileSystem/ProcFS.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,8 @@ class ProcFSInode : public Inode {
ProcFS const& procfs() const { return static_cast<ProcFS const&>(Inode::fs()); }

// ^Inode
virtual ErrorOr<void> attach(OpenFileDescription& description) = 0;
virtual void did_seek(OpenFileDescription&, off_t) = 0;
virtual ErrorOr<void> attach(OpenFileDescription& description) override = 0;
virtual void did_seek(OpenFileDescription&, off_t) override = 0;
virtual ErrorOr<void> flush_metadata() override final;
virtual ErrorOr<NonnullRefPtr<Inode>> create_child(StringView name, mode_t, dev_t, UserID, GroupID) override final;
virtual ErrorOr<void> add_child(Inode&, StringView name, mode_t) override final;
Expand Down
2 changes: 1 addition & 1 deletion Kernel/FileSystem/SysFS.h
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ class SysFSInode : public Inode {
virtual ErrorOr<void> chmod(mode_t) override;
virtual ErrorOr<void> chown(UserID, GroupID) override;
virtual ErrorOr<void> truncate(u64) override;
virtual ErrorOr<void> set_mtime(time_t);
virtual ErrorOr<void> set_mtime(time_t) override;

virtual ErrorOr<void> attach(OpenFileDescription& description) override final;
virtual void did_seek(OpenFileDescription&, off_t) override final;
Expand Down
2 changes: 1 addition & 1 deletion Kernel/Firmware/PowerStateSwitch.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class PowerStateSwitchNode final : public SysFSComponent {
virtual mode_t permissions() const override;
virtual ErrorOr<size_t> write_bytes(off_t, size_t, UserOrKernelBuffer const&, OpenFileDescription*) override;
virtual ErrorOr<void> truncate(u64) override;
virtual ErrorOr<void> set_mtime(time_t) { return {}; }
virtual ErrorOr<void> set_mtime(time_t) override { return {}; }

private:
PowerStateSwitchNode(FirmwareSysFSDirectory&);
Expand Down
2 changes: 1 addition & 1 deletion Kernel/Graphics/GenericFramebufferDevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ class GenericFramebufferDevice : public BlockDevice {
virtual ~GenericFramebufferDevice() = default;

// ^File
virtual ErrorOr<Memory::Region*> mmap(Process&, OpenFileDescription&, Memory::VirtualRange const&, u64 offset, int prot, bool shared) = 0;
virtual ErrorOr<Memory::Region*> mmap(Process&, OpenFileDescription&, Memory::VirtualRange const&, u64 offset, int prot, bool shared) override = 0;
virtual ErrorOr<void> ioctl(OpenFileDescription&, unsigned request, Userspace<void*> arg) override final;
virtual StringView class_name() const override final { return "FramebufferDevice"sv; }

Expand Down
4 changes: 2 additions & 2 deletions Kernel/Graphics/VirtIOGPU/FramebufferDevice.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ class FramebufferDevice final : public GenericFramebufferDevice {

virtual ErrorOr<void> try_to_initialize() override { return {}; }

virtual void deactivate_writes();
virtual void activate_writes();
virtual void deactivate_writes() override;
virtual void activate_writes() override;

size_t width() const { return display_info().rect.width; }
size_t height() const { return display_info().rect.height; }
Expand Down
4 changes: 2 additions & 2 deletions Kernel/Net/NE2000NetworkAdapter.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ class NE2000NetworkAdapter final : public NetworkAdapter
// just assume that it's up.
return true;
}
virtual i32 link_speed()
virtual i32 link_speed() override
{
// Can only do 10mbit..
return 10;
}
virtual bool link_full_duplex() { return true; }
virtual bool link_full_duplex() override { return true; }

virtual StringView purpose() const override { return class_name(); }

Expand Down
2 changes: 1 addition & 1 deletion Meta/Lagom/Tools/CodeGenerators/IPCCompiler/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ class @message.pascal_name@ final : public IPC::Message {
)~~~");

message_generator.append(R"~~~(
virtual bool valid() const { return m_ipc_message_valid; }
virtual bool valid() const override { return m_ipc_message_valid; }
virtual IPC::MessageBuffer encode() const override
{
Expand Down
10 changes: 5 additions & 5 deletions Userland/Applications/SpaceAnalyzer/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,17 +35,17 @@ struct TreeNode : public SpaceAnalyzer::TreeMapNode {
TreeNode(String name)
: m_name(move(name)) {};

virtual String name() const { return m_name; }
virtual i64 area() const { return m_area; }
virtual size_t num_children() const
virtual String name() const override { return m_name; }
virtual i64 area() const override { return m_area; }
virtual size_t num_children() const override
{
if (m_children) {
return m_children->size();
}
return 0;
}
virtual const TreeNode& child_at(size_t i) const { return m_children->at(i); }
virtual void sort_children_by_area() const
virtual const TreeNode& child_at(size_t i) const override { return m_children->at(i); }
virtual void sort_children_by_area() const override
{
if (m_children) {
Vector<TreeNode>* children = const_cast<Vector<TreeNode>*>(m_children.ptr());
Expand Down
4 changes: 2 additions & 2 deletions Userland/Applications/Terminal/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class TerminalChangeListener : public Config::Listener {
{
}

virtual void config_string_did_change(String const& domain, String const& group, String const& key, String const& value)
virtual void config_string_did_change(String const& domain, String const& group, String const& key, String const& value) override
{
VERIFY(domain == "Terminal");

Expand All @@ -77,7 +77,7 @@ class TerminalChangeListener : public Config::Listener {
}
}

virtual void config_i32_did_change(String const& domain, String const& group, String const& key, i32 value)
virtual void config_i32_did_change(String const& domain, String const& group, String const& key, i32 value) override
{
VERIFY(domain == "Terminal");

Expand Down
2 changes: 1 addition & 1 deletion Userland/DevTools/HackStudio/Git/GitFilesView.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ class GitFilesView : public GUI::ListView {
GitFilesView(GitFileActionCallback, NonnullRefPtr<Gfx::Bitmap> action_icon);

private:
virtual void paint_list_item(GUI::Painter& painter, int row_index, int painted_item_index);
virtual void paint_list_item(GUI::Painter& painter, int row_index, int painted_item_index) override;

virtual void mousedown_event(GUI::MouseEvent&) override;
virtual Gfx::IntRect action_icon_rect(size_t painted_item_index);
Expand Down
24 changes: 12 additions & 12 deletions Userland/Libraries/LibChess/UCICommand.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class UCICommand : public Command {

static UCICommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;
};

class DebugCommand : public Command {
Expand All @@ -76,7 +76,7 @@ class DebugCommand : public Command {

static DebugCommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;

Flag flag() const { return m_flag; }

Expand All @@ -93,7 +93,7 @@ class IsReadyCommand : public Command {

static IsReadyCommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;
};

class SetOptionCommand : public Command {
Expand All @@ -107,7 +107,7 @@ class SetOptionCommand : public Command {

static SetOptionCommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;

const String& name() const { return m_name; }
const Optional<String>& value() const { return m_value; }
Expand All @@ -128,7 +128,7 @@ class PositionCommand : public Command {

static PositionCommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;

const Optional<String>& fen() const { return m_fen; }
const Vector<Chess::Move>& moves() const { return m_moves; }
Expand All @@ -147,7 +147,7 @@ class GoCommand : public Command {

static GoCommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;

Optional<Vector<Chess::Move>> searchmoves;
bool ponder { false };
Expand All @@ -172,7 +172,7 @@ class StopCommand : public Command {

static StopCommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;
};

class IdCommand : public Command {
Expand All @@ -191,7 +191,7 @@ class IdCommand : public Command {

static IdCommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;

Type field_type() const { return m_field_type; }
const String& value() const { return m_value; }
Expand All @@ -210,7 +210,7 @@ class UCIOkCommand : public Command {

static UCIOkCommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;
};

class ReadyOkCommand : public Command {
Expand All @@ -222,7 +222,7 @@ class ReadyOkCommand : public Command {

static ReadyOkCommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;
};

class BestMoveCommand : public Command {
Expand All @@ -235,7 +235,7 @@ class BestMoveCommand : public Command {

static BestMoveCommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;

Chess::Move move() const { return m_move; }

Expand All @@ -252,7 +252,7 @@ class InfoCommand : public Command {

static InfoCommand from_string(StringView command);

virtual String to_string() const;
virtual String to_string() const override;

Optional<int> depth;
Optional<int> seldepth;
Expand Down
4 changes: 2 additions & 2 deletions Userland/Libraries/LibCrypto/Checksum/Adler32.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ class Adler32 : public ChecksumFunction<u32> {
update(data);
}

void update(ReadonlyBytes data);
u32 digest();
virtual void update(ReadonlyBytes data) override;
virtual u32 digest() override;

private:
u32 m_state_a { 1 };
Expand Down
4 changes: 2 additions & 2 deletions Userland/Libraries/LibCrypto/Checksum/CRC32.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ class CRC32 : public ChecksumFunction<u32> {
update(data);
}

void update(ReadonlyBytes data);
u32 digest();
virtual void update(ReadonlyBytes data) override;
virtual u32 digest() override;

private:
u32 m_state { ~0u };
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibJS/Heap/Heap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ class MarkingVisitor final : public Cell::Visitor {
public:
MarkingVisitor() { }

virtual void visit_impl(Cell& cell)
virtual void visit_impl(Cell& cell) override
{
if (cell.is_marked())
return;
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibSQL/AST/AST.h
Original file line number Diff line number Diff line change
Expand Up @@ -943,7 +943,7 @@ class Insert : public Statement {
bool has_selection() const { return !m_select_statement.is_null(); }
const RefPtr<Select>& select_statement() const { return m_select_statement; }

RefPtr<SQLResult> execute(ExecutionContext&) const;
virtual RefPtr<SQLResult> execute(ExecutionContext&) const override;

private:
RefPtr<CommonTableExpressionList> m_common_table_expression_list;
Expand Down
4 changes: 2 additions & 2 deletions Userland/Libraries/LibWeb/CSS/CSSImportRule.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ class CSSImportRule
const RefPtr<CSSStyleSheet> loaded_style_sheet() const { return m_style_sheet; }
void set_style_sheet(const RefPtr<CSSStyleSheet>& style_sheet) { m_style_sheet = style_sheet; }

virtual StringView class_name() const { return "CSSImportRule"; };
virtual Type type() const { return Type::Import; };
virtual StringView class_name() const override { return "CSSImportRule"; };
virtual Type type() const override { return Type::Import; };

private:
explicit CSSImportRule(AK::URL, DOM::Document&);
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/CSS/StyleValue.h
Original file line number Diff line number Diff line change
Expand Up @@ -1345,7 +1345,7 @@ class StyleValueList final : public StyleValue {
return m_values[i];
}

virtual String to_string() const
virtual String to_string() const override
{
StringBuilder builder;
builder.appendff("List[{}](", m_values.size());
Expand Down
2 changes: 1 addition & 1 deletion Userland/Libraries/LibWeb/DOM/Document.h
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ class Document
const String& source() const { return m_source; }
void set_source(const String& source) { m_source = source; }

JS::Realm& realm();
virtual JS::Realm& realm() override;
JS::Interpreter& interpreter();

JS::Value run_javascript(StringView source, StringView filename = "(unknown)");
Expand Down
4 changes: 2 additions & 2 deletions Userland/Libraries/LibWeb/Layout/Box.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,8 @@ class Box : public NodeWithStyleAndBoxModelMetrics {

void clear_overflow_data() { m_overflow_data = nullptr; }

virtual void before_children_paint(PaintContext&, PaintPhase);
virtual void after_children_paint(PaintContext&, PaintPhase);
virtual void before_children_paint(PaintContext&, PaintPhase) override;
virtual void after_children_paint(PaintContext&, PaintPhase) override;

protected:
Box(DOM::Document& document, DOM::Node* node, NonnullRefPtr<CSS::StyleProperties> style)
Expand Down
2 changes: 1 addition & 1 deletion Userland/Shell/Shell.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1671,7 +1671,7 @@ void Shell::bring_cursor_to_beginning_of_a_line() const
bool Shell::has_history_event(StringView source)
{
struct : public AST::NodeVisitor {
virtual void visit(const AST::HistoryEvent* node)
virtual void visit(const AST::HistoryEvent* node) override
{
has_history_event = true;
AST::NodeVisitor::visit(node);
Expand Down

0 comments on commit 4a81b33

Please sign in to comment.