1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 13:48:12 +00:00

Everywhere: Switch from (void) to [[maybe_unused]] (#4473)

Problem:
- `(void)` simply casts the expression to void. This is understood to
  indicate that it is ignored, but this is really a compiler trick to
  get the compiler to not generate a warning.

Solution:
- Use the `[[maybe_unused]]` attribute to indicate the value is unused.

Note:
- Functions taking a `(void)` argument list have also been changed to
  `()` because this is not needed and shows up in the same grep
  command.
This commit is contained in:
Lenny Maiorani 2020-12-20 16:09:48 -07:00 committed by GitHub
parent 4421d98e30
commit 765936ebae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
103 changed files with 219 additions and 362 deletions

View file

@ -43,16 +43,13 @@
namespace AK { namespace AK {
inline void fill_with_random(void* buffer, size_t length) inline void fill_with_random([[maybe_unused]] void* buffer, [[maybe_unused]] size_t length)
{ {
#if defined(__serenity__) #if defined(__serenity__)
arc4random_buf(buffer, length); arc4random_buf(buffer, length);
#elif defined(OSS_FUZZ) #elif defined(OSS_FUZZ)
(void)buffer;
(void)length;
#elif defined(__unix__) or defined(__APPLE__) #elif defined(__unix__) or defined(__APPLE__)
int rc = getentropy(buffer, length); [[maybe_unused]] int rc = getentropy(buffer, length);
(void)rc;
#endif #endif
} }

View file

@ -89,7 +89,7 @@ RefPtr<SharedBuffer> SharedBuffer::create_with_size(int size)
return adopt(*new SharedBuffer(shbuf_id, size, data)); return adopt(*new SharedBuffer(shbuf_id, size, data));
} }
bool SharedBuffer::share_with(pid_t peer) bool SharedBuffer::share_with([[maybe_unused]] pid_t peer)
{ {
# if defined(__serenity__) # if defined(__serenity__)
int ret = shbuf_allow_pid(shbuf_id(), peer); int ret = shbuf_allow_pid(shbuf_id(), peer);
@ -97,8 +97,6 @@ bool SharedBuffer::share_with(pid_t peer)
perror("shbuf_allow_pid"); perror("shbuf_allow_pid");
return false; return false;
} }
# else
(void)peer;
# endif # endif
return true; return true;
} }

View file

@ -114,7 +114,7 @@ public:
void ensure_instance() void ensure_instance()
{ {
(void)ptr(); ptr();
} }
private: private:

View file

@ -26,8 +26,6 @@
#pragma once #pragma once
#define UNUSED_PARAM(x) (void)x
constexpr unsigned round_up_to_power_of_two(unsigned value, unsigned power_of_two) constexpr unsigned round_up_to_power_of_two(unsigned value, unsigned power_of_two)
{ {
return ((value - 1) & ~(power_of_two - 1)) + power_of_two; return ((value - 1) & ~(power_of_two - 1)) + power_of_two;

View file

@ -65,7 +65,7 @@ TEST_CASE(negative_operator_lt)
{ {
ByteBuffer a = ByteBuffer::copy("Hello, world", 10); ByteBuffer a = ByteBuffer::copy("Hello, world", 10);
ByteBuffer b = ByteBuffer::copy("Hello, friend", 10); ByteBuffer b = ByteBuffer::copy("Hello, friend", 10);
(void)(a < b); [[maybe_unused]] auto res = a < b;
// error: error: use of deleted function bool AK::ByteBuffer::operator<(const AK::ByteBuffer&) const // error: error: use of deleted function bool AK::ByteBuffer::operator<(const AK::ByteBuffer&) const
} }
#endif /* COMPILE_NEGATIVE_TESTS */ #endif /* COMPILE_NEGATIVE_TESTS */

View file

@ -264,35 +264,35 @@ TEST_CASE(negative_incr)
TEST_CASE(negative_cmp) TEST_CASE(negative_cmp)
{ {
BareNumeric a = 12; BareNumeric a = 12;
(void)(a < a); [[maybe_unused]] auto res = (a < a);
// error: static assertion failed: 'a<b' is only available for DistinctNumeric types with 'Cmp'. // error: static assertion failed: 'a<b' is only available for DistinctNumeric types with 'Cmp'.
} }
TEST_CASE(negative_bool) TEST_CASE(negative_bool)
{ {
BareNumeric a = 12; BareNumeric a = 12;
(void)!a; [[maybe_unused]] auto res = !a;
// error: static assertion failed: '!a', 'a&&b', 'a||b' and similar operators are only available for DistinctNumeric types with 'Bool'. // error: static assertion failed: '!a', 'a&&b', 'a||b' and similar operators are only available for DistinctNumeric types with 'Bool'.
} }
TEST_CASE(negative_flags) TEST_CASE(negative_flags)
{ {
BareNumeric a = 12; BareNumeric a = 12;
(void)(a & a); [[maybe_unused]] auto res = (a & a);
// error: static assertion failed: 'a&b' is only available for DistinctNumeric types with 'Flags'. // error: static assertion failed: 'a&b' is only available for DistinctNumeric types with 'Flags'.
} }
TEST_CASE(negative_shift) TEST_CASE(negative_shift)
{ {
BareNumeric a = 12; BareNumeric a = 12;
(void)(a << a); [[maybe_unused]] auto res = (a << a);
// error: static assertion failed: 'a<<b' is only available for DistinctNumeric types with 'Shift'. // error: static assertion failed: 'a<<b' is only available for DistinctNumeric types with 'Shift'.
} }
TEST_CASE(negative_arith) TEST_CASE(negative_arith)
{ {
BareNumeric a = 12; BareNumeric a = 12;
(void)(a + a); [[maybe_unused]] auto res = (a + a);
// error: static assertion failed: 'a+b' is only available for DistinctNumeric types with 'Arith'. // error: static assertion failed: 'a+b' is only available for DistinctNumeric types with 'Arith'.
} }
@ -302,13 +302,13 @@ TEST_CASE(negative_incompatible)
ArithNumeric b = 345; ArithNumeric b = 345;
// And this is the entire point of `DistinctNumeric`: // And this is the entire point of `DistinctNumeric`:
// Theoretically, the operation *could* be supported, but we declared those int types incompatible. // Theoretically, the operation *could* be supported, but we declared those int types incompatible.
(void)(a + b); [[maybe_unused]] auto res = (a + b);
// error: no match for operator+ (operand types are GeneralNumeric {aka AK::DistinctNumeric<int, true, true, true, true, true, true, 64, 64>} and ArithNumeric {aka AK::DistinctNumeric<int, false, false, false, false, false, true, 64, 63>}) // error: no match for operator+ (operand types are GeneralNumeric {aka AK::DistinctNumeric<int, true, true, true, true, true, true, 64, 64>} and ArithNumeric {aka AK::DistinctNumeric<int, false, false, false, false, false, true, 64, 63>})
// 313 | (void)(a + b); // 313 | [[maybe_unused]] auto res = (a + b);
// | ~ ^ ~ // | ~ ^ ~
// | | | // | | |
// | | DistinctNumeric<[...],false,false,false,false,false,[...],[...],63> // | | DistinctNumeric<[...],false,false,false,false,false,[...],[...],63>
// | DistinctNumeric<[...],true,true,true,true,true,[...],[...],64> // | DistinctNumeric<[...],true,true,true,true,true,[...],[...],64>
} }
#endif /* COMPILE_NEGATIVE_TESTS */ #endif /* COMPILE_NEGATIVE_TESTS */

View file

@ -61,9 +61,7 @@ TEST_CASE(load_form)
widgets.for_each([&](const JsonValue& widget_value) { widgets.for_each([&](const JsonValue& widget_value) {
auto& widget_object = widget_value.as_object(); auto& widget_object = widget_value.as_object();
auto widget_class = widget_object.get("class").as_string(); auto widget_class = widget_object.get("class").as_string();
widget_object.for_each_member([&](auto& property_name, const JsonValue& property_value) { widget_object.for_each_member([&]([[maybe_unused]] auto& property_name, [[maybe_unused]] const JsonValue& property_value) {
(void)property_name;
(void)property_value;
//dbgprintf("Set property %s.%s to '%s'\n", widget_class.characters(), property_name.characters(), property_value.serialized().characters()); //dbgprintf("Set property %s.%s to '%s'\n", widget_class.characters(), property_name.characters(), property_value.serialized().characters());
}); });
}); });

View file

@ -44,9 +44,9 @@ TEST_CASE(generate_c_code)
SourceGenerator generator { builder }; SourceGenerator generator { builder };
generator.set("name", "foo"); generator.set("name", "foo");
generator.append("const char* @name@ (void) { return \"@name@\"; }"); generator.append("const char* @name@ () { return \"@name@\"; }");
EXPECT_EQ(generator.as_string_view(), "const char* foo (void) { return \"foo\"; }"); EXPECT_EQ(generator.as_string_view(), "const char* foo () { return \"foo\"; }");
} }
TEST_CASE(scoped) TEST_CASE(scoped)

View file

@ -138,8 +138,7 @@ bool Utf8View::validate(size_t& valid_bytes) const
size_t Utf8View::calculate_length() const size_t Utf8View::calculate_length() const
{ {
size_t length = 0; size_t length = 0;
for (auto code_point : *this) { for ([[maybe_unused]] auto code_point : *this) {
(void)code_point;
++length; ++length;
} }
return length; return length;
@ -170,7 +169,6 @@ Utf8CodepointIterator& Utf8CodepointIterator::operator++()
bool first_byte_makes_sense = decode_first_byte(*m_ptr, code_point_length_in_bytes, value); bool first_byte_makes_sense = decode_first_byte(*m_ptr, code_point_length_in_bytes, value);
ASSERT(first_byte_makes_sense); ASSERT(first_byte_makes_sense);
(void)value;
ASSERT(code_point_length_in_bytes <= m_length); ASSERT(code_point_length_in_bytes <= m_length);
m_ptr += code_point_length_in_bytes; m_ptr += code_point_length_in_bytes;

View file

@ -156,11 +156,8 @@ void DownloadWidget::did_progress(Optional<u32> total_size, u32 downloaded_size)
} }
} }
void DownloadWidget::did_finish(bool success, ReadonlyBytes payload, RefPtr<SharedBuffer> payload_storage, const HashMap<String, String, CaseInsensitiveStringTraits>& response_headers) void DownloadWidget::did_finish(bool success, [[maybe_unused]] ReadonlyBytes payload, [[maybe_unused]] RefPtr<SharedBuffer> payload_storage, [[maybe_unused]] const HashMap<String, String, CaseInsensitiveStringTraits>& response_headers)
{ {
(void)payload;
(void)payload_storage;
(void)response_headers;
dbg() << "did_finish, success=" << success; dbg() << "did_finish, success=" << success;
m_close_button->set_enabled(true); m_close_button->set_enabled(true);

View file

@ -82,7 +82,7 @@ static void start_download(const URL& url)
window->set_resizable(false); window->set_resizable(false);
window->set_main_widget<DownloadWidget>(url); window->set_main_widget<DownloadWidget>(url);
window->show(); window->show();
(void)window.leak_ref(); [[maybe_unused]] auto& unused = window.leak_ref();
} }
Tab::Tab(Type type) Tab::Tab(Type type)
@ -308,7 +308,7 @@ Tab::Tab(Type type)
window->set_title(url); window->set_title(url);
window->set_icon(Gfx::Bitmap::load_from_file("/res/icons/16x16/filetype-text.png")); window->set_icon(Gfx::Bitmap::load_from_file("/res/icons/16x16/filetype-text.png"));
window->show(); window->show();
(void)window.leak_ref(); [[maybe_unused]] auto& unused = window.leak_ref();
} else { } else {
TODO(); TODO();
} }

View file

@ -183,13 +183,12 @@ void show_properties(const String& container_dir_path, const String& path, const
properties->exec(); properties->exec();
} }
int run_in_desktop_mode(RefPtr<Core::ConfigFile> config) int run_in_desktop_mode([[maybe_unused]] RefPtr<Core::ConfigFile> config)
{ {
static constexpr const char* process_name = "FileManager (Desktop)"; static constexpr const char* process_name = "FileManager (Desktop)";
set_process_name(process_name, strlen(process_name)); set_process_name(process_name, strlen(process_name));
pthread_setname_np(pthread_self(), process_name); pthread_setname_np(pthread_self(), process_name);
(void)config;
auto window = GUI::Window::construct(); auto window = GUI::Window::construct();
window->set_title("Desktop Manager"); window->set_title("Desktop Manager");
window->set_window_type(GUI::WindowType::Desktop); window->set_window_type(GUI::WindowType::Desktop);
@ -198,8 +197,7 @@ int run_in_desktop_mode(RefPtr<Core::ConfigFile> config)
auto& desktop_widget = window->set_main_widget<FileManager::DesktopWidget>(); auto& desktop_widget = window->set_main_widget<FileManager::DesktopWidget>();
desktop_widget.set_layout<GUI::VerticalBoxLayout>(); desktop_widget.set_layout<GUI::VerticalBoxLayout>();
auto& directory_view = desktop_widget.add<DirectoryView>(DirectoryView::Mode::Desktop); [[maybe_unused]] auto& directory_view = desktop_widget.add<DirectoryView>(DirectoryView::Mode::Desktop);
(void)directory_view;
auto copy_action = GUI::CommonActions::make_copy_action( auto copy_action = GUI::CommonActions::make_copy_action(
[&](auto&) { [&](auto&) {

View file

@ -773,9 +773,8 @@ void IRCClient::handle_rpl_whoisuser(const Message& msg)
auto& nick = msg.arguments[1]; auto& nick = msg.arguments[1];
auto& username = msg.arguments[2]; auto& username = msg.arguments[2];
auto& host = msg.arguments[3]; auto& host = msg.arguments[3];
auto& asterisk = msg.arguments[4]; [[maybe_unused]] auto& asterisk = msg.arguments[4];
auto& realname = msg.arguments[5]; auto& realname = msg.arguments[5];
(void)asterisk;
add_server_message(String::formatted("* {} is {}@{}, real name: {}", nick, username, host, realname)); add_server_message(String::formatted("* {} is {}@{}, real name: {}", nick, username, host, realname));
} }

View file

@ -204,9 +204,8 @@ void RollWidget::mousemove_event(GUI::MouseEvent& event)
update(); update();
} }
void RollWidget::mouseup_event(GUI::MouseEvent& event) void RollWidget::mouseup_event([[maybe_unused]] GUI::MouseEvent& event)
{ {
(void)event;
m_note_drag_start = {}; m_note_drag_start = {};
m_note_drag_location = {}; m_note_drag_location = {};
} }

View file

@ -200,10 +200,7 @@ void QSWidget::mousedown_event(GUI::MouseEvent& event)
m_saved_pan_origin = m_pan_origin; m_saved_pan_origin = m_pan_origin;
} }
void QSWidget::mouseup_event(GUI::MouseEvent& event) void QSWidget::mouseup_event([[maybe_unused]] GUI::MouseEvent& event) { }
{
UNUSED_PARAM(event);
}
void QSWidget::mousemove_event(GUI::MouseEvent& event) void QSWidget::mousemove_event(GUI::MouseEvent& event)
{ {

View file

@ -105,8 +105,7 @@ void MemoryStatsWidget::refresh()
ASSERT(json_result.has_value()); ASSERT(json_result.has_value());
auto json = json_result.value().as_object(); auto json = json_result.value().as_object();
unsigned kmalloc_eternal_allocated = json.get("kmalloc_eternal_allocated").to_u32(); [[maybe_unused]] unsigned kmalloc_eternal_allocated = json.get("kmalloc_eternal_allocated").to_u32();
(void)kmalloc_eternal_allocated;
unsigned kmalloc_allocated = json.get("kmalloc_allocated").to_u32(); unsigned kmalloc_allocated = json.get("kmalloc_allocated").to_u32();
unsigned kmalloc_available = json.get("kmalloc_available").to_u32(); unsigned kmalloc_available = json.get("kmalloc_available").to_u32();
unsigned user_physical_allocated = json.get("user_physical_allocated").to_u32(); unsigned user_physical_allocated = json.get("user_physical_allocated").to_u32();

View file

@ -278,8 +278,7 @@ int main(int argc, char** argv)
process_context_menu->add_separator(); process_context_menu->add_separator();
process_context_menu->add_action(profile_action); process_context_menu->add_action(profile_action);
process_context_menu->add_action(inspect_action); process_context_menu->add_action(inspect_action);
process_table_view.on_context_menu_request = [&](const GUI::ModelIndex& index, const GUI::ContextMenuEvent& event) { process_table_view.on_context_menu_request = [&]([[maybe_unused]] const GUI::ModelIndex& index, const GUI::ContextMenuEvent& event) {
(void)index;
process_context_menu->popup(event.screen_position()); process_context_menu->popup(event.screen_position());
}; };

View file

@ -7,8 +7,8 @@ geteuid, getegid - get effective user / group id
```**c++ ```**c++
#include <unistd.h> #include <unistd.h>
uid_t geteuid(void); uid_t geteuid();
gid_t getegid(void); gid_t getegid();
``` ```
## Description ## Description

View file

@ -7,8 +7,8 @@ getuid, getgid - get real user / group id
```**c++ ```**c++
#include <unistd.h> #include <unistd.h>
uid_t getuid(void); uid_t getuid();
gid_t getgid(void); gid_t getgid();
``` ```
## Description ## Description

View file

@ -74,7 +74,7 @@ int main(int argc, char** argv, char** envp)
outln("Global lib variable is {}", *ptr_global); outln("Global lib variable is {}", *ptr_global);
// Test getting a method from the library and calling it // Test getting a method from the library and calling it
void (*lib_func)(void) = (void (*)(void))dlsym(handle, "global_lib_function"); void (*lib_func)() = (void (*)())dlsym(handle, "global_lib_function");
outln("Found global lib function address: {}", lib_func); outln("Found global lib function address: {}", lib_func);

View file

@ -39,12 +39,8 @@
#include <sys/types.h> #include <sys/types.h>
#include <unistd.h> #include <unistd.h>
int main(int argc, char** argv, char** env) int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv, [[maybe_unused]] char** env)
{ {
(void)argc;
(void)argv;
(void)env;
printf("Well Hello Friends!\n"); printf("Well Hello Friends!\n");
printf("trying to open /etc/fstab for writing..\n"); printf("trying to open /etc/fstab for writing..\n");
int rc = open("/etc/fstab", O_RDWR); int rc = open("/etc/fstab", O_RDWR);

View file

@ -146,8 +146,7 @@ int main(int argc, char** argv)
auto& radio1 = radio_button_container.add<GUI::RadioButton>("RadioButton 1"); auto& radio1 = radio_button_container.add<GUI::RadioButton>("RadioButton 1");
radio1.set_checked(true); radio1.set_checked(true);
auto& radio2 = radio_button_container.add<GUI::RadioButton>("RadioButton 2"); [[maybe_unused]] auto& radio2 = radio_button_container.add<GUI::RadioButton>("RadioButton 2");
(void)radio2;
auto& radio3 = radio_button_container.add<GUI::RadioButton>("RadioButton 3"); auto& radio3 = radio_button_container.add<GUI::RadioButton>("RadioButton 3");
radio3.set_enabled(false); radio3.set_enabled(false);
@ -186,13 +185,11 @@ int main(int argc, char** argv)
auto& checkbox2 = checkbox_container.add<GUI::CheckBox>("CheckBox 2"); auto& checkbox2 = checkbox_container.add<GUI::CheckBox>("CheckBox 2");
checkbox2.set_enabled(false); checkbox2.set_enabled(false);
auto& label1 = label_container.add<GUI::Label>("Label 1"); [[maybe_unused]] auto& label1 = label_container.add<GUI::Label>("Label 1");
(void)label1;
auto& label2 = label_container.add<GUI::Label>("Label 2"); auto& label2 = label_container.add<GUI::Label>("Label 2");
label2.set_enabled(false); label2.set_enabled(false);
auto& spinbox1 = spin_container.add<GUI::SpinBox>(); [[maybe_unused]] auto& spinbox1 = spin_container.add<GUI::SpinBox>();
(void)spinbox1;
auto& spinbox2 = spin_container.add<GUI::SpinBox>(); auto& spinbox2 = spin_container.add<GUI::SpinBox>();
spinbox2.set_enabled(false); spinbox2.set_enabled(false);
@ -213,8 +210,7 @@ int main(int argc, char** argv)
auto& button2 = button_vert1_container.add<GUI::Button>("Button 2"); auto& button2 = button_vert1_container.add<GUI::Button>("Button 2");
button2.set_icon(Gfx::Bitmap::load_from_file("/res/icons/16x16/kill.png")); button2.set_icon(Gfx::Bitmap::load_from_file("/res/icons/16x16/kill.png"));
button2.set_enabled(false); button2.set_enabled(false);
auto& button3 = button_vert2_container.add<GUI::Button>("\xF0\x9F\x98\x88 Button 3"); [[maybe_unused]] auto& button3 = button_vert2_container.add<GUI::Button>("\xF0\x9F\x98\x88 Button 3");
(void)button3;
auto& button4 = button_vert2_container.add<GUI::Button>("\xF0\x9F\x8D\x86 Button 4"); auto& button4 = button_vert2_container.add<GUI::Button>("\xF0\x9F\x8D\x86 Button 4");
button4.set_enabled(false); button4.set_enabled(false);
@ -334,8 +330,7 @@ int main(int argc, char** argv)
horizontal_slider_container2.set_layout<GUI::HorizontalBoxLayout>(); horizontal_slider_container2.set_layout<GUI::HorizontalBoxLayout>();
horizontal_slider_container2.layout()->set_margins({ 4, 4, 4, 4 }); horizontal_slider_container2.layout()->set_margins({ 4, 4, 4, 4 });
auto& slider1 = horizontal_slider_container.add<GUI::HorizontalSlider>(); [[maybe_unused]] auto& slider1 = horizontal_slider_container.add<GUI::HorizontalSlider>();
(void)slider1;
auto& slider2 = horizontal_slider_container.add<GUI::HorizontalSlider>(); auto& slider2 = horizontal_slider_container.add<GUI::HorizontalSlider>();
slider2.set_enabled(false); slider2.set_enabled(false);
slider2.set_value(50); slider2.set_value(50);

View file

@ -107,13 +107,13 @@ void TerminalWrapper::run_command(const String& command)
tcsetpgrp(pts_fd, getpid()); tcsetpgrp(pts_fd, getpid());
// NOTE: It's okay if this fails. // NOTE: It's okay if this fails.
(void)ioctl(0, TIOCNOTTY); int rc = ioctl(0, TIOCNOTTY);
close(0); close(0);
close(1); close(1);
close(2); close(2);
int rc = dup2(pts_fd, 0); rc = dup2(pts_fd, 0);
if (rc < 0) { if (rc < 0) {
perror("dup2"); perror("dup2");
exit(1); exit(1);
@ -164,7 +164,7 @@ void TerminalWrapper::kill_running_command()
ASSERT(m_pid != -1); ASSERT(m_pid != -1);
// Kill our child process and its whole process group. // Kill our child process and its whole process group.
(void)killpg(m_pid, SIGTERM); [[maybe_unused]] auto rc = killpg(m_pid, SIGTERM);
} }
TerminalWrapper::TerminalWrapper(bool user_spawned) TerminalWrapper::TerminalWrapper(bool user_spawned)

View file

@ -29,27 +29,23 @@
namespace HackStudio { namespace HackStudio {
void WidgetTool::on_mousedown(GUI::MouseEvent& event) void WidgetTool::on_mousedown([[maybe_unused]] GUI::MouseEvent& event)
{ {
(void)event;
dbgln("WidgetTool::on_mousedown"); dbgln("WidgetTool::on_mousedown");
} }
void WidgetTool::on_mouseup(GUI::MouseEvent& event) void WidgetTool::on_mouseup([[maybe_unused]] GUI::MouseEvent& event)
{ {
(void)event;
dbgln("WidgetTool::on_mouseup"); dbgln("WidgetTool::on_mouseup");
} }
void WidgetTool::on_mousemove(GUI::MouseEvent& event) void WidgetTool::on_mousemove([[maybe_unused]] GUI::MouseEvent& event)
{ {
(void)event;
dbgln("WidgetTool::on_mousemove"); dbgln("WidgetTool::on_mousemove");
} }
void WidgetTool::on_keydown(GUI::KeyEvent& event) void WidgetTool::on_keydown([[maybe_unused]] GUI::KeyEvent& event)
{ {
(void)event;
dbgln("WidgetTool::on_keydown"); dbgln("WidgetTool::on_keydown");
} }

View file

@ -95,9 +95,8 @@ static String symbolicate(FlatPtr eip, const ELF::Core::MemoryRegionInfo* region
return String::format("[%s] %s", name.characters(), lib_data->lib_elf->symbolicate(eip - region->region_start, &offset).characters()); return String::format("[%s] %s", name.characters(), lib_data->lib_elf->symbolicate(eip - region->region_start, &offset).characters());
} }
static String symbolicate_from_coredump(CoreDumpReader& coredump, u32 ptr, u32& offset) static String symbolicate_from_coredump(CoreDumpReader& coredump, u32 ptr, [[maybe_unused]] u32& offset)
{ {
(void)offset;
auto* region = coredump.region_containing((FlatPtr)ptr); auto* region = coredump.region_containing((FlatPtr)ptr);
if (!region) { if (!region) {
dbgln("did not find region for eip: {:p}", ptr); dbgln("did not find region for eip: {:p}", ptr);

View file

@ -1149,10 +1149,8 @@ int Emulator::virt$get_dir_entries(int fd, FlatPtr buffer, ssize_t size)
return rc; return rc;
} }
int Emulator::virt$ioctl(int fd, unsigned request, FlatPtr arg) int Emulator::virt$ioctl([[maybe_unused]] int fd, unsigned request, [[maybe_unused]] FlatPtr arg)
{ {
(void)fd;
(void)arg;
if (request == TIOCGWINSZ) { if (request == TIOCGWINSZ) {
struct winsize ws; struct winsize ws;
int rc = syscall(SC_ioctl, fd, TIOCGWINSZ, &ws); int rc = syscall(SC_ioctl, fd, TIOCGWINSZ, &ws);
@ -1493,8 +1491,8 @@ void Emulator::dispatch_one_pending_signal()
} }
// Make sure the compiler doesn't "optimize away" this function: // Make sure the compiler doesn't "optimize away" this function:
extern void signal_trampoline_dummy(void); extern void signal_trampoline_dummy();
void signal_trampoline_dummy(void) void signal_trampoline_dummy()
{ {
// The trampoline preserves the current eax, pushes the signal code and // The trampoline preserves the current eax, pushes the signal code and
// then calls the signal handler. We do this because, when interrupting a // then calls the signal handler. We do this because, when interrupting a
@ -1518,8 +1516,8 @@ void signal_trampoline_dummy(void)
".att_syntax" ::"i"(Syscall::SC_sigreturn)); ".att_syntax" ::"i"(Syscall::SC_sigreturn));
} }
extern "C" void asm_signal_trampoline(void); extern "C" void asm_signal_trampoline();
extern "C" void asm_signal_trampoline_end(void); extern "C" void asm_signal_trampoline_end();
void Emulator::setup_signal_trampoline() void Emulator::setup_signal_trampoline()
{ {

View file

@ -64,9 +64,9 @@ static GenericInterruptHandler* s_interrupt_handler[GENERIC_INTERRUPT_HANDLERS_C
extern "C" void enter_thread_context(Thread* from_thread, Thread* to_thread); extern "C" void enter_thread_context(Thread* from_thread, Thread* to_thread);
extern "C" void context_first_init(Thread* from_thread, Thread* to_thread, TrapFrame* trap); extern "C" void context_first_init(Thread* from_thread, Thread* to_thread, TrapFrame* trap);
extern "C" u32 do_init_context(Thread* thread, u32 flags); extern "C" u32 do_init_context(Thread* thread, u32 flags);
extern "C" void exit_kernel_thread(void); extern "C" void exit_kernel_thread();
extern "C" void pre_init_finished(void); extern "C" void pre_init_finished();
extern "C" void post_init_finished(void); extern "C" void post_init_finished();
extern "C" void handle_interrupt(TrapFrame*); extern "C" void handle_interrupt(TrapFrame*);
#define EH_ENTRY(ec, title) \ #define EH_ENTRY(ec, title) \
@ -1490,13 +1490,10 @@ void Processor::switch_context(Thread*& from_thread, Thread*& to_thread)
#endif #endif
} }
extern "C" void context_first_init(Thread* from_thread, Thread* to_thread, TrapFrame* trap) extern "C" void context_first_init([[maybe_unused]] Thread* from_thread, [[maybe_unused]] Thread* to_thread, [[maybe_unused]] TrapFrame* trap)
{ {
ASSERT(!are_interrupts_enabled()); ASSERT(!are_interrupts_enabled());
ASSERT(is_kernel_mode()); ASSERT(is_kernel_mode());
(void)from_thread;
(void)to_thread;
(void)trap;
#ifdef CONTEXT_SWITCH_DEBUG #ifdef CONTEXT_SWITCH_DEBUG
dbg() << "switch_context <-- from " << VirtualAddress(from_thread) << " " << *from_thread << " to " << VirtualAddress(to_thread) << " " << *to_thread << " (context_first_init)"; dbg() << "switch_context <-- from " << VirtualAddress(from_thread) << " " << *from_thread << " to " << VirtualAddress(to_thread) << " " << *to_thread << " (context_first_init)";
@ -1513,7 +1510,7 @@ extern "C" void context_first_init(Thread* from_thread, Thread* to_thread, TrapF
Scheduler::leave_on_first_switch(trap->regs->eflags); Scheduler::leave_on_first_switch(trap->regs->eflags);
} }
extern "C" void thread_context_first_enter(void); extern "C" void thread_context_first_enter();
asm( asm(
// enter_thread_context returns to here first time a thread is executing // enter_thread_context returns to here first time a thread is executing
".globl thread_context_first_enter \n" ".globl thread_context_first_enter \n"
@ -1529,7 +1526,7 @@ asm(
" jmp common_trap_exit \n" " jmp common_trap_exit \n"
); );
void exit_kernel_thread(void) void exit_kernel_thread()
{ {
Thread::current()->exit(); Thread::current()->exit();
} }
@ -1674,7 +1671,7 @@ void Processor::assume_context(Thread& thread, u32 flags)
ASSERT_NOT_REACHED(); ASSERT_NOT_REACHED();
} }
extern "C" void pre_init_finished(void) extern "C" void pre_init_finished()
{ {
ASSERT(g_scheduler_lock.own_lock()); ASSERT(g_scheduler_lock.own_lock());
@ -1687,7 +1684,7 @@ extern "C" void pre_init_finished(void)
Scheduler::leave_on_first_switch(prev_flags); Scheduler::leave_on_first_switch(prev_flags);
} }
extern "C" void post_init_finished(void) extern "C" void post_init_finished()
{ {
// We need to re-acquire the scheduler lock before a context switch // We need to re-acquire the scheduler lock before a context switch
// transfers control into the idle loop, which needs the lock held // transfers control into the idle loop, which needs the lock held
@ -1731,7 +1728,7 @@ void Processor::initialize_context_switching(Thread& initial_thread)
[from_to_thread] "b" (&initial_thread), [from_to_thread] "b" (&initial_thread),
[cpu] "c" (id()) [cpu] "c" (id())
); );
ASSERT_NOT_REACHED(); ASSERT_NOT_REACHED();
} }

View file

@ -31,7 +31,7 @@
#ifdef DEBUG #ifdef DEBUG
[[noreturn]] void __assertion_failed(const char* msg, const char* file, unsigned line, const char* func); [[noreturn]] void __assertion_failed(const char* msg, const char* file, unsigned line, const char* func);
# define ASSERT(expr) (static_cast<bool>(expr) ? (void)0 : __assertion_failed(# expr, __FILE__, __LINE__, __PRETTY_FUNCTION__)) # define ASSERT(expr) (static_cast<bool>(expr) ? void(0) : __assertion_failed(# expr, __FILE__, __LINE__, __PRETTY_FUNCTION__))
# define ASSERT_NOT_REACHED() ASSERT(false) # define ASSERT_NOT_REACHED() ASSERT(false)
#else #else
# define ASSERT(expr) # define ASSERT(expr)

View file

@ -116,7 +116,7 @@ void CoreDump::write_elf_header()
elf_file_header.e_shnum = 0; elf_file_header.e_shnum = 0;
elf_file_header.e_shstrndx = SHN_UNDEF; elf_file_header.e_shstrndx = SHN_UNDEF;
(void)m_fd->write(UserOrKernelBuffer::for_kernel_buffer(reinterpret_cast<uint8_t*>(&elf_file_header)), sizeof(Elf32_Ehdr)); [[maybe_unused]] auto rc = m_fd->write(UserOrKernelBuffer::for_kernel_buffer(reinterpret_cast<uint8_t*>(&elf_file_header)), sizeof(Elf32_Ehdr));
} }
void CoreDump::write_program_headers(size_t notes_size) void CoreDump::write_program_headers(size_t notes_size)
@ -142,7 +142,7 @@ void CoreDump::write_program_headers(size_t notes_size)
offset += phdr.p_filesz; offset += phdr.p_filesz;
(void)m_fd->write(UserOrKernelBuffer::for_kernel_buffer(reinterpret_cast<uint8_t*>(&phdr)), sizeof(Elf32_Phdr)); [[maybe_unused]] auto rc = m_fd->write(UserOrKernelBuffer::for_kernel_buffer(reinterpret_cast<uint8_t*>(&phdr)), sizeof(Elf32_Phdr));
} }
Elf32_Phdr notes_pheader {}; Elf32_Phdr notes_pheader {};
@ -155,7 +155,7 @@ void CoreDump::write_program_headers(size_t notes_size)
notes_pheader.p_align = 0; notes_pheader.p_align = 0;
notes_pheader.p_flags = 0; notes_pheader.p_flags = 0;
(void)m_fd->write(UserOrKernelBuffer::for_kernel_buffer(reinterpret_cast<uint8_t*>(&notes_pheader)), sizeof(Elf32_Phdr)); [[maybe_unused]] auto rc = m_fd->write(UserOrKernelBuffer::for_kernel_buffer(reinterpret_cast<uint8_t*>(&notes_pheader)), sizeof(Elf32_Phdr));
} }
void CoreDump::write_regions() void CoreDump::write_regions()
@ -182,14 +182,14 @@ void CoreDump::write_regions()
// (A page may not be backed by a physical page because it has never been faulted in when the process ran). // (A page may not be backed by a physical page because it has never been faulted in when the process ran).
src_buffer = UserOrKernelBuffer::for_kernel_buffer(zero_buffer); src_buffer = UserOrKernelBuffer::for_kernel_buffer(zero_buffer);
} }
(void)m_fd->write(src_buffer.value(), PAGE_SIZE); [[maybe_unused]] auto rc = m_fd->write(src_buffer.value(), PAGE_SIZE);
} }
} }
} }
void CoreDump::write_notes_segment(ByteBuffer& notes_segment) void CoreDump::write_notes_segment(ByteBuffer& notes_segment)
{ {
(void)m_fd->write(UserOrKernelBuffer::for_kernel_buffer(notes_segment.data()), notes_segment.size()); [[maybe_unused]] auto rc = m_fd->write(UserOrKernelBuffer::for_kernel_buffer(notes_segment.data()), notes_segment.size());
} }
ByteBuffer CoreDump::create_notes_threads_data() const ByteBuffer CoreDump::create_notes_threads_data() const
@ -264,7 +264,7 @@ void CoreDump::write()
write_regions(); write_regions();
write_notes_segment(notes_segment); write_notes_segment(notes_segment);
(void)m_fd->chmod(0400); // Make coredump file readable [[maybe_unused]] auto rc = m_fd->chmod(0400); // Make coredump file readable
} }
} }

View file

@ -290,7 +290,7 @@ void BlockBasedFS::flush_specific_block_if_needed(unsigned index)
file_description().seek(base_offset, SEEK_SET); file_description().seek(base_offset, SEEK_SET);
// FIXME: Should this error path be surfaced somehow? // FIXME: Should this error path be surfaced somehow?
auto entry_data_buffer = UserOrKernelBuffer::for_kernel_buffer(entry.data); auto entry_data_buffer = UserOrKernelBuffer::for_kernel_buffer(entry.data);
(void)file_description().write(entry_data_buffer, block_size()); [[maybe_unused]] auto rc = file_description().write(entry_data_buffer, block_size());
cleaned_entries.append(&entry); cleaned_entries.append(&entry);
} }
}); });
@ -311,7 +311,7 @@ void BlockBasedFS::flush_writes_impl()
file_description().seek(base_offset, SEEK_SET); file_description().seek(base_offset, SEEK_SET);
// FIXME: Should this error path be surfaced somehow? // FIXME: Should this error path be surfaced somehow?
auto entry_data_buffer = UserOrKernelBuffer::for_kernel_buffer(entry.data); auto entry_data_buffer = UserOrKernelBuffer::for_kernel_buffer(entry.data);
(void)file_description().write(entry_data_buffer, block_size()); [[maybe_unused]] auto rc = file_description().write(entry_data_buffer, block_size());
++count; ++count;
}); });
cache().mark_all_clean(); cache().mark_all_clean();

View file

@ -71,7 +71,7 @@ FileDescription::~FileDescription()
if (is_fifo()) if (is_fifo())
static_cast<FIFO*>(m_file.ptr())->detach(m_fifo_direction); static_cast<FIFO*>(m_file.ptr())->detach(m_fifo_direction);
// FIXME: Should this error path be observed somehow? // FIXME: Should this error path be observed somehow?
(void)m_file->close(); [[maybe_unused]] auto rc = m_file->close();
m_inode = nullptr; m_inode = nullptr;
} }

View file

@ -710,7 +710,7 @@ Plan9FSInode::~Plan9FSInode()
Plan9FS::Message clunk_request { fs(), Plan9FS::Message::Type::Tclunk }; Plan9FS::Message clunk_request { fs(), Plan9FS::Message::Type::Tclunk };
clunk_request << fid(); clunk_request << fid();
// FIXME: Should we observe this error somehow? // FIXME: Should we observe this error somehow?
(void)fs().post_message_and_explicitly_ignore_reply(clunk_request); [[maybe_unused]] auto rc = fs().post_message_and_explicitly_ignore_reply(clunk_request);
} }
KResult Plan9FSInode::ensure_open_for_mode(int mode) KResult Plan9FSInode::ensure_open_for_mode(int mode)
@ -909,7 +909,7 @@ KResult Plan9FSInode::traverse_as_directory(Function<bool(const FS::DirectoryEnt
Plan9FS::Message close_message { fs(), Plan9FS::Message::Type::Tclunk }; Plan9FS::Message close_message { fs(), Plan9FS::Message::Type::Tclunk };
close_message << clone_fid; close_message << clone_fid;
// FIXME: Should we observe this error? // FIXME: Should we observe this error?
(void)fs().post_message_and_explicitly_ignore_reply(close_message); [[maybe_unused]] auto rc = fs().post_message_and_explicitly_ignore_reply(close_message);
return result; return result;
} }
} }
@ -942,7 +942,7 @@ KResult Plan9FSInode::traverse_as_directory(Function<bool(const FS::DirectoryEnt
Plan9FS::Message close_message { fs(), Plan9FS::Message::Type::Tclunk }; Plan9FS::Message close_message { fs(), Plan9FS::Message::Type::Tclunk };
close_message << clone_fid; close_message << clone_fid;
// FIXME: Should we observe this error? // FIXME: Should we observe this error?
(void)fs().post_message_and_explicitly_ignore_reply(close_message); [[maybe_unused]] auto rc = fs().post_message_and_explicitly_ignore_reply(close_message);
return result; return result;
} else { } else {
// TODO // TODO

View file

@ -1647,9 +1647,8 @@ KResult ProcFSInode::add_child(Inode&, const StringView&, mode_t)
return KResult(-EPERM); return KResult(-EPERM);
} }
KResult ProcFSInode::remove_child(const StringView& name) KResult ProcFSInode::remove_child([[maybe_unused]] const StringView& name)
{ {
(void)name;
return KResult(-EPERM); return KResult(-EPERM);
} }

View file

@ -210,7 +210,7 @@ void APIC::write_icr(const ICRReg& icr)
#define APIC_LVT_TRIGGER_LEVEL (1 << 14) #define APIC_LVT_TRIGGER_LEVEL (1 << 14)
#define APIC_LVT(iv, dm) (((iv)&0xff) | (((dm)&0x7) << 8)) #define APIC_LVT(iv, dm) (((iv)&0xff) | (((dm)&0x7) << 8))
extern "C" void apic_ap_start(void); extern "C" void apic_ap_start();
extern "C" u16 apic_ap_start_size; extern "C" u16 apic_ap_start_size;
extern "C" u32 ap_cpu_init_stacks; extern "C" u32 ap_cpu_init_stacks;
extern "C" u32 ap_cpu_init_processor_info_array; extern "C" u32 ap_cpu_init_processor_info_array;

View file

@ -150,7 +150,7 @@ void E1000NetworkAdapter::detect()
if (id != qemu_bochs_vbox_id) if (id != qemu_bochs_vbox_id)
return; return;
u8 irq = PCI::get_interrupt_line(address); u8 irq = PCI::get_interrupt_line(address);
(void)adopt(*new E1000NetworkAdapter(address, irq)).leak_ref(); [[maybe_unused]] auto& unused = adopt(*new E1000NetworkAdapter(address, irq)).leak_ref();
}); });
} }

View file

@ -203,11 +203,10 @@ int IPv4Socket::allocate_local_port_if_needed()
return port; return port;
} }
KResultOr<size_t> IPv4Socket::sendto(FileDescription&, const UserOrKernelBuffer& data, size_t data_length, int flags, Userspace<const sockaddr*> addr, socklen_t addr_length) KResultOr<size_t> IPv4Socket::sendto(FileDescription&, const UserOrKernelBuffer& data, size_t data_length, [[maybe_unused]] int flags, Userspace<const sockaddr*> addr, socklen_t addr_length)
{ {
LOCKER(lock()); LOCKER(lock());
(void)flags;
if (addr && addr_length != sizeof(sockaddr_in)) if (addr && addr_length != sizeof(sockaddr_in))
return KResult(-EINVAL); return KResult(-EINVAL);
@ -621,7 +620,7 @@ int IPv4Socket::ioctl(FileDescription&, unsigned request, FlatPtr arg)
KResult IPv4Socket::close() KResult IPv4Socket::close()
{ {
(void)shutdown(SHUT_RDWR); [[maybe_unused]] auto rc = shutdown(SHUT_RDWR);
return KSuccess; return KSuccess;
} }

View file

@ -374,6 +374,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
socket->receive_tcp_packet(tcp_packet, ipv4_packet.payload_size()); socket->receive_tcp_packet(tcp_packet, ipv4_packet.payload_size());
[[maybe_unused]] int unused_rc {};
switch (socket->state()) { switch (socket->state()) {
case TCPSocket::State::Closed: case TCPSocket::State::Closed:
klog() << "handle_tcp: unexpected flags in Closed state"; klog() << "handle_tcp: unexpected flags in Closed state";
@ -381,7 +382,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
return; return;
case TCPSocket::State::TimeWait: case TCPSocket::State::TimeWait:
klog() << "handle_tcp: unexpected flags in TimeWait state"; klog() << "handle_tcp: unexpected flags in TimeWait state";
(void)socket->send_tcp_packet(TCPFlags::RST); unused_rc = socket->send_tcp_packet(TCPFlags::RST);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
return; return;
case TCPSocket::State::Listen: case TCPSocket::State::Listen:
@ -403,46 +404,46 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
#endif #endif
client->set_sequence_number(1000); client->set_sequence_number(1000);
client->set_ack_number(tcp_packet.sequence_number() + payload_size + 1); client->set_ack_number(tcp_packet.sequence_number() + payload_size + 1);
(void)client->send_tcp_packet(TCPFlags::SYN | TCPFlags::ACK); [[maybe_unused]] auto rc2 = client->send_tcp_packet(TCPFlags::SYN | TCPFlags::ACK);
client->set_state(TCPSocket::State::SynReceived); client->set_state(TCPSocket::State::SynReceived);
return; return;
} }
default: default:
klog() << "handle_tcp: unexpected flags in Listen state"; klog() << "handle_tcp: unexpected flags in Listen state";
// (void)socket->send_tcp_packet(TCPFlags::RST); // socket->send_tcp_packet(TCPFlags::RST);
return; return;
} }
case TCPSocket::State::SynSent: case TCPSocket::State::SynSent:
switch (tcp_packet.flags()) { switch (tcp_packet.flags()) {
case TCPFlags::SYN: case TCPFlags::SYN:
socket->set_ack_number(tcp_packet.sequence_number() + payload_size + 1); socket->set_ack_number(tcp_packet.sequence_number() + payload_size + 1);
(void)socket->send_tcp_packet(TCPFlags::ACK); unused_rc = socket->send_tcp_packet(TCPFlags::ACK);
socket->set_state(TCPSocket::State::SynReceived); socket->set_state(TCPSocket::State::SynReceived);
return; return;
case TCPFlags::ACK | TCPFlags::SYN: case TCPFlags::ACK | TCPFlags::SYN:
socket->set_ack_number(tcp_packet.sequence_number() + payload_size + 1); socket->set_ack_number(tcp_packet.sequence_number() + payload_size + 1);
(void)socket->send_tcp_packet(TCPFlags::ACK); unused_rc = socket->send_tcp_packet(TCPFlags::ACK);
socket->set_state(TCPSocket::State::Established); socket->set_state(TCPSocket::State::Established);
socket->set_setup_state(Socket::SetupState::Completed); socket->set_setup_state(Socket::SetupState::Completed);
socket->set_connected(true); socket->set_connected(true);
return; return;
case TCPFlags::ACK | TCPFlags::FIN: case TCPFlags::ACK | TCPFlags::FIN:
socket->set_ack_number(tcp_packet.sequence_number() + payload_size + 1); socket->set_ack_number(tcp_packet.sequence_number() + payload_size + 1);
(void)socket->send_tcp_packet(TCPFlags::ACK); unused_rc = socket->send_tcp_packet(TCPFlags::ACK);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
socket->set_error(TCPSocket::Error::FINDuringConnect); socket->set_error(TCPSocket::Error::FINDuringConnect);
socket->set_setup_state(Socket::SetupState::Completed); socket->set_setup_state(Socket::SetupState::Completed);
return; return;
case TCPFlags::ACK | TCPFlags::RST: case TCPFlags::ACK | TCPFlags::RST:
socket->set_ack_number(tcp_packet.sequence_number() + payload_size); socket->set_ack_number(tcp_packet.sequence_number() + payload_size);
(void)socket->send_tcp_packet(TCPFlags::ACK); unused_rc = socket->send_tcp_packet(TCPFlags::ACK);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
socket->set_error(TCPSocket::Error::RSTDuringConnect); socket->set_error(TCPSocket::Error::RSTDuringConnect);
socket->set_setup_state(Socket::SetupState::Completed); socket->set_setup_state(Socket::SetupState::Completed);
return; return;
default: default:
klog() << "handle_tcp: unexpected flags in SynSent state"; klog() << "handle_tcp: unexpected flags in SynSent state";
(void)socket->send_tcp_packet(TCPFlags::RST); unused_rc = socket->send_tcp_packet(TCPFlags::RST);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
socket->set_error(TCPSocket::Error::UnexpectedFlagsDuringConnect); socket->set_error(TCPSocket::Error::UnexpectedFlagsDuringConnect);
socket->set_setup_state(Socket::SetupState::Completed); socket->set_setup_state(Socket::SetupState::Completed);
@ -457,7 +458,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
case TCPSocket::Direction::Incoming: case TCPSocket::Direction::Incoming:
if (!socket->has_originator()) { if (!socket->has_originator()) {
klog() << "handle_tcp: connection doesn't have an originating socket; maybe it went away?"; klog() << "handle_tcp: connection doesn't have an originating socket; maybe it went away?";
(void)socket->send_tcp_packet(TCPFlags::RST); unused_rc = socket->send_tcp_packet(TCPFlags::RST);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
return; return;
} }
@ -473,7 +474,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
return; return;
default: default:
klog() << "handle_tcp: got ACK in SynReceived state but direction is invalid (" << TCPSocket::to_string(socket->direction()) << ")"; klog() << "handle_tcp: got ACK in SynReceived state but direction is invalid (" << TCPSocket::to_string(socket->direction()) << ")";
(void)socket->send_tcp_packet(TCPFlags::RST); unused_rc = socket->send_tcp_packet(TCPFlags::RST);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
return; return;
} }
@ -481,7 +482,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
return; return;
default: default:
klog() << "handle_tcp: unexpected flags in SynReceived state"; klog() << "handle_tcp: unexpected flags in SynReceived state";
(void)socket->send_tcp_packet(TCPFlags::RST); unused_rc = socket->send_tcp_packet(TCPFlags::RST);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
return; return;
} }
@ -489,7 +490,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
switch (tcp_packet.flags()) { switch (tcp_packet.flags()) {
default: default:
klog() << "handle_tcp: unexpected flags in CloseWait state"; klog() << "handle_tcp: unexpected flags in CloseWait state";
(void)socket->send_tcp_packet(TCPFlags::RST); unused_rc = socket->send_tcp_packet(TCPFlags::RST);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
return; return;
} }
@ -501,7 +502,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
return; return;
default: default:
klog() << "handle_tcp: unexpected flags in LastAck state"; klog() << "handle_tcp: unexpected flags in LastAck state";
(void)socket->send_tcp_packet(TCPFlags::RST); unused_rc = socket->send_tcp_packet(TCPFlags::RST);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
return; return;
} }
@ -517,7 +518,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
return; return;
default: default:
klog() << "handle_tcp: unexpected flags in FinWait1 state"; klog() << "handle_tcp: unexpected flags in FinWait1 state";
(void)socket->send_tcp_packet(TCPFlags::RST); unused_rc = socket->send_tcp_packet(TCPFlags::RST);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
return; return;
} }
@ -532,7 +533,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
return; return;
default: default:
klog() << "handle_tcp: unexpected flags in FinWait2 state"; klog() << "handle_tcp: unexpected flags in FinWait2 state";
(void)socket->send_tcp_packet(TCPFlags::RST); unused_rc = socket->send_tcp_packet(TCPFlags::RST);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
return; return;
} }
@ -544,7 +545,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
return; return;
default: default:
klog() << "handle_tcp: unexpected flags in Closing state"; klog() << "handle_tcp: unexpected flags in Closing state";
(void)socket->send_tcp_packet(TCPFlags::RST); unused_rc = socket->send_tcp_packet(TCPFlags::RST);
socket->set_state(TCPSocket::State::Closed); socket->set_state(TCPSocket::State::Closed);
return; return;
} }
@ -554,7 +555,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
socket->did_receive(ipv4_packet.source(), tcp_packet.source_port(), KBuffer::copy(&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size()), packet_timestamp); socket->did_receive(ipv4_packet.source(), tcp_packet.source_port(), KBuffer::copy(&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size()), packet_timestamp);
socket->set_ack_number(tcp_packet.sequence_number() + payload_size + 1); socket->set_ack_number(tcp_packet.sequence_number() + payload_size + 1);
(void)socket->send_tcp_packet(TCPFlags::ACK); unused_rc = socket->send_tcp_packet(TCPFlags::ACK);
socket->set_state(TCPSocket::State::CloseWait); socket->set_state(TCPSocket::State::CloseWait);
socket->set_connected(false); socket->set_connected(false);
return; return;
@ -568,7 +569,7 @@ void handle_tcp(const IPv4Packet& ipv4_packet, const timeval& packet_timestamp)
if (payload_size) { if (payload_size) {
if (socket->did_receive(ipv4_packet.source(), tcp_packet.source_port(), KBuffer::copy(&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size()), packet_timestamp)) if (socket->did_receive(ipv4_packet.source(), tcp_packet.source_port(), KBuffer::copy(&ipv4_packet, sizeof(IPv4Packet) + ipv4_packet.payload_size()), packet_timestamp))
(void)socket->send_tcp_packet(TCPFlags::ACK); unused_rc = socket->send_tcp_packet(TCPFlags::ACK);
} }
} }
} }

View file

@ -135,7 +135,7 @@ void RTL8139NetworkAdapter::detect()
if (id != rtl8139_id) if (id != rtl8139_id)
return; return;
u8 irq = PCI::get_interrupt_line(address); u8 irq = PCI::get_interrupt_line(address);
(void)adopt(*new RTL8139NetworkAdapter(address, irq)).leak_ref(); [[maybe_unused]] auto& unused = adopt(*new RTL8139NetworkAdapter(address, irq)).leak_ref();
}); });
} }

View file

@ -144,7 +144,7 @@ void TCPSocket::release_for_accept(RefPtr<TCPSocket> socket)
ASSERT(m_pending_release_for_accept.contains(socket->tuple())); ASSERT(m_pending_release_for_accept.contains(socket->tuple()));
m_pending_release_for_accept.remove(socket->tuple()); m_pending_release_for_accept.remove(socket->tuple());
// FIXME: Should we observe this error somehow? // FIXME: Should we observe this error somehow?
(void)queue_connection_from(*socket); [[maybe_unused]] auto rc = queue_connection_from(*socket);
} }
TCPSocket::TCPSocket(int protocol) TCPSocket::TCPSocket(int protocol)
@ -167,9 +167,8 @@ NonnullRefPtr<TCPSocket> TCPSocket::create(int protocol)
return adopt(*new TCPSocket(protocol)); return adopt(*new TCPSocket(protocol));
} }
KResultOr<size_t> TCPSocket::protocol_receive(ReadonlyBytes raw_ipv4_packet, UserOrKernelBuffer& buffer, size_t buffer_size, int flags) KResultOr<size_t> TCPSocket::protocol_receive(ReadonlyBytes raw_ipv4_packet, UserOrKernelBuffer& buffer, size_t buffer_size, [[maybe_unused]] int flags)
{ {
(void)flags;
auto& ipv4_packet = *reinterpret_cast<const IPv4Packet*>(raw_ipv4_packet.data()); auto& ipv4_packet = *reinterpret_cast<const IPv4Packet*>(raw_ipv4_packet.data());
auto& tcp_packet = *static_cast<const TCPPacket*>(ipv4_packet.payload()); auto& tcp_packet = *static_cast<const TCPPacket*>(ipv4_packet.payload());
size_t payload_size = raw_ipv4_packet.size() - sizeof(IPv4Packet) - tcp_packet.header_size(); size_t payload_size = raw_ipv4_packet.size() - sizeof(IPv4Packet) - tcp_packet.header_size();
@ -464,7 +463,7 @@ void TCPSocket::shut_down_for_writing()
#ifdef TCP_SOCKET_DEBUG #ifdef TCP_SOCKET_DEBUG
dbg() << " Sending FIN/ACK from Established and moving into FinWait1"; dbg() << " Sending FIN/ACK from Established and moving into FinWait1";
#endif #endif
(void)send_tcp_packet(TCPFlags::FIN | TCPFlags::ACK); [[maybe_unused]] auto rc = send_tcp_packet(TCPFlags::FIN | TCPFlags::ACK);
set_state(State::FinWait1); set_state(State::FinWait1);
} else { } else {
dbg() << " Shutting down TCPSocket for writing but not moving to FinWait1 since state is " << to_string(state()); dbg() << " Shutting down TCPSocket for writing but not moving to FinWait1 since state is " << to_string(state());
@ -479,7 +478,7 @@ KResult TCPSocket::close()
#ifdef TCP_SOCKET_DEBUG #ifdef TCP_SOCKET_DEBUG
dbg() << " Sending FIN from CloseWait and moving into LastAck"; dbg() << " Sending FIN from CloseWait and moving into LastAck";
#endif #endif
(void)send_tcp_packet(TCPFlags::FIN | TCPFlags::ACK); [[maybe_unused]] auto rc = send_tcp_packet(TCPFlags::FIN | TCPFlags::ACK);
set_state(State::LastAck); set_state(State::LastAck);
} }

View file

@ -79,9 +79,8 @@ NonnullRefPtr<UDPSocket> UDPSocket::create(int protocol)
return adopt(*new UDPSocket(protocol)); return adopt(*new UDPSocket(protocol));
} }
KResultOr<size_t> UDPSocket::protocol_receive(ReadonlyBytes raw_ipv4_packet, UserOrKernelBuffer& buffer, size_t buffer_size, int flags) KResultOr<size_t> UDPSocket::protocol_receive(ReadonlyBytes raw_ipv4_packet, UserOrKernelBuffer& buffer, size_t buffer_size, [[maybe_unused]] int flags)
{ {
(void)flags;
auto& ipv4_packet = *(const IPv4Packet*)(raw_ipv4_packet.data()); auto& ipv4_packet = *(const IPv4Packet*)(raw_ipv4_packet.data());
auto& udp_packet = *static_cast<const UDPPacket*>(ipv4_packet.payload()); auto& udp_packet = *static_cast<const UDPPacket*>(ipv4_packet.payload());
ASSERT(udp_packet.length() >= sizeof(UDPPacket)); // FIXME: This should be rejected earlier. ASSERT(udp_packet.length() >= sizeof(UDPPacket)); // FIXME: This should be rejected earlier.

View file

@ -401,8 +401,8 @@ void Process::dump_regions()
} }
// Make sure the compiler doesn't "optimize away" this function: // Make sure the compiler doesn't "optimize away" this function:
extern void signal_trampoline_dummy(void); extern void signal_trampoline_dummy();
void signal_trampoline_dummy(void) void signal_trampoline_dummy()
{ {
// The trampoline preserves the current eax, pushes the signal code and // The trampoline preserves the current eax, pushes the signal code and
// then calls the signal handler. We do this because, when interrupting a // then calls the signal handler. We do this because, when interrupting a
@ -426,8 +426,8 @@ void signal_trampoline_dummy(void)
".att_syntax" ::"i"(Syscall::SC_sigreturn)); ".att_syntax" ::"i"(Syscall::SC_sigreturn));
} }
extern "C" void asm_signal_trampoline(void); extern "C" void asm_signal_trampoline();
extern "C" void asm_signal_trampoline_end(void); extern "C" void asm_signal_trampoline_end();
void create_signal_trampolines() void create_signal_trampolines()
{ {

View file

@ -253,14 +253,13 @@ bool Scheduler::yield()
return true; return true;
} }
bool Scheduler::donate_to_and_switch(Thread* beneficiary, const char* reason) bool Scheduler::donate_to_and_switch(Thread* beneficiary, [[maybe_unused]] const char* reason)
{ {
ASSERT(g_scheduler_lock.own_lock()); ASSERT(g_scheduler_lock.own_lock());
auto& proc = Processor::current(); auto& proc = Processor::current();
ASSERT(proc.in_critical() == 1); ASSERT(proc.in_critical() == 1);
(void)reason;
unsigned ticks_left = Thread::current()->ticks_left(); unsigned ticks_left = Thread::current()->ticks_left();
if (!beneficiary || beneficiary->state() != Thread::Runnable || ticks_left <= 1) if (!beneficiary || beneficiary->state() != Thread::Runnable || ticks_left <= 1)
return Scheduler::yield(); return Scheduler::yield();

View file

@ -49,7 +49,7 @@ unsigned Process::sys$alarm(unsigned seconds)
auto deadline = TimeManagement::the().current_time(CLOCK_REALTIME).value(); auto deadline = TimeManagement::the().current_time(CLOCK_REALTIME).value();
timespec_add(deadline, { seconds, 0 }, deadline); timespec_add(deadline, { seconds, 0 }, deadline);
m_alarm_timer = TimerQueue::the().add_timer_without_id(CLOCK_REALTIME, deadline, [this]() { m_alarm_timer = TimerQueue::the().add_timer_without_id(CLOCK_REALTIME, deadline, [this]() {
(void)send_signal(SIGALRM, nullptr); [[maybe_unused]] auto rc = send_signal(SIGALRM, nullptr);
}); });
} }
return previous_alarm_remaining; return previous_alarm_remaining;

View file

@ -371,7 +371,7 @@ int Process::do_exec(NonnullRefPtr<FileDescription> main_program_description, Ve
new_main_thread->set_state(Thread::State::Runnable); new_main_thread->set_state(Thread::State::Runnable);
} }
u32 lock_count_to_restore; u32 lock_count_to_restore;
(void)big_lock().force_unlock_if_locked(lock_count_to_restore); [[maybe_unused]] auto rc = big_lock().force_unlock_if_locked(lock_count_to_restore);
ASSERT_INTERRUPTS_DISABLED(); ASSERT_INTERRUPTS_DISABLED();
ASSERT(Processor::current().in_critical()); ASSERT(Processor::current().in_critical());
return 0; return 0;

View file

@ -57,7 +57,7 @@ KResultOr<size_t> TTY::read(FileDescription&, size_t, UserOrKernelBuffer& buffer
{ {
if (Process::current()->pgid() != pgid()) { if (Process::current()->pgid() != pgid()) {
// FIXME: Should we propagate this error path somehow? // FIXME: Should we propagate this error path somehow?
(void)Process::current()->send_signal(SIGTTIN, nullptr); [[maybe_unused]] auto rc = Process::current()->send_signal(SIGTTIN, nullptr);
return KResult(-EINTR); return KResult(-EINTR);
} }
@ -104,7 +104,7 @@ KResultOr<size_t> TTY::read(FileDescription&, size_t, UserOrKernelBuffer& buffer
KResultOr<size_t> TTY::write(FileDescription&, size_t, const UserOrKernelBuffer& buffer, size_t size) KResultOr<size_t> TTY::write(FileDescription&, size_t, const UserOrKernelBuffer& buffer, size_t size)
{ {
if (Process::current()->pgid() != pgid()) { if (Process::current()->pgid() != pgid()) {
(void)Process::current()->send_signal(SIGTTOU, nullptr); [[maybe_unused]] auto rc = Process::current()->send_signal(SIGTTOU, nullptr);
return KResult(-EINTR); return KResult(-EINTR);
} }
@ -172,7 +172,7 @@ void TTY::emit(u8 ch, bool do_evaluate_block_conditions)
dbg() << tty_name() << ": VSUSP pressed!"; dbg() << tty_name() << ": VSUSP pressed!";
generate_signal(SIGTSTP); generate_signal(SIGTSTP);
if (auto original_process_parent = m_original_process_parent.strong_ref()) if (auto original_process_parent = m_original_process_parent.strong_ref())
(void)original_process_parent->send_signal(SIGCHLD, nullptr); [[maybe_unused]] auto rc = original_process_parent->send_signal(SIGCHLD, nullptr);
// TODO: Else send it to the session leader maybe? // TODO: Else send it to the session leader maybe?
return; return;
} }
@ -288,7 +288,7 @@ void TTY::generate_signal(int signal)
Process::for_each_in_pgrp(pgid(), [&](auto& process) { Process::for_each_in_pgrp(pgid(), [&](auto& process) {
dbg() << tty_name() << ": Send signal " << signal << " to " << process; dbg() << tty_name() << ": Send signal " << signal << " to " << process;
// FIXME: Should this error be propagated somehow? // FIXME: Should this error be propagated somehow?
(void)process.send_signal(signal, nullptr); [[maybe_unused]] auto rc = process.send_signal(signal, nullptr);
return IterationDecision::Continue; return IterationDecision::Continue;
}); });
} }

View file

@ -213,7 +213,7 @@ void Thread::die_if_needed()
return; return;
u32 unlock_count; u32 unlock_count;
(void)unlock_process_if_locked(unlock_count); [[maybe_unused]] auto rc = unlock_process_if_locked(unlock_count);
ScopedCritical critical; ScopedCritical critical;
set_should_die(); set_should_die();
@ -240,7 +240,7 @@ void Thread::exit(void* exit_value)
m_join_condition.thread_did_exit(exit_value); m_join_condition.thread_did_exit(exit_value);
set_should_die(); set_should_die();
u32 unlock_count; u32 unlock_count;
(void)unlock_process_if_locked(unlock_count); [[maybe_unused]] auto rc = unlock_process_if_locked(unlock_count);
die_if_needed(); die_if_needed();
} }

View file

@ -165,21 +165,18 @@ void APICTimer::reset_to_default_ticks_per_second()
{ {
} }
bool APICTimer::try_to_set_frequency(size_t frequency) bool APICTimer::try_to_set_frequency([[maybe_unused]] size_t frequency)
{ {
(void)frequency;
return true; return true;
} }
bool APICTimer::is_capable_of_frequency(size_t frequency) const bool APICTimer::is_capable_of_frequency([[maybe_unused]] size_t frequency) const
{ {
(void)frequency;
return false; return false;
} }
size_t APICTimer::calculate_nearest_possible_frequency(size_t frequency) const size_t APICTimer::calculate_nearest_possible_frequency([[maybe_unused]] size_t frequency) const
{ {
(void)frequency;
return 0; return 0;
} }

View file

@ -89,10 +89,8 @@ void InodeVMObject::inode_size_changed(Badge<Inode>, size_t old_size, size_t new
}); });
} }
void InodeVMObject::inode_contents_changed(Badge<Inode>, off_t offset, ssize_t size, const UserOrKernelBuffer& data) void InodeVMObject::inode_contents_changed(Badge<Inode>, off_t offset, [[maybe_unused]] ssize_t size, [[maybe_unused]] const UserOrKernelBuffer& data)
{ {
(void)size;
(void)data;
InterruptDisabler disabler; InterruptDisabler disabler;
ASSERT(offset >= 0); ASSERT(offset >= 0);

View file

@ -41,7 +41,7 @@ __attribute__((noreturn)) void __assertion_failed(const char* msg);
} while (0) } while (0)
# define ASSERT_NOT_REACHED() assert(false) # define ASSERT_NOT_REACHED() assert(false)
#else #else
# define assert(expr) ((void)0) # define assert(expr) (void(0))
# define ASSERT_NOT_REACHED() CRASH() # define ASSERT_NOT_REACHED() CRASH()
#endif #endif

View file

@ -36,15 +36,13 @@ int sched_yield()
__RETURN_WITH_ERRNO(rc, rc, -1); __RETURN_WITH_ERRNO(rc, rc, -1);
} }
int sched_get_priority_min(int policy) int sched_get_priority_min([[maybe_unused]] int policy)
{ {
(void)policy;
return 0; // Idle return 0; // Idle
} }
int sched_get_priority_max(int policy) int sched_get_priority_max([[maybe_unused]] int policy)
{ {
(void)policy;
return 3; // High return 3; // High
} }

View file

@ -1179,15 +1179,13 @@ int vfscanf(FILE* stream, const char* fmt, va_list ap)
return vsscanf(buffer, fmt, ap); return vsscanf(buffer, fmt, ap);
} }
void flockfile(FILE* filehandle) void flockfile([[maybe_unused]] FILE* filehandle)
{ {
(void)filehandle;
dbgprintf("FIXME: Implement flockfile()\n"); dbgprintf("FIXME: Implement flockfile()\n");
} }
void funlockfile(FILE* filehandle) void funlockfile([[maybe_unused]] FILE* filehandle)
{ {
(void)filehandle;
dbgprintf("FIXME: Implement funlockfile()\n"); dbgprintf("FIXME: Implement funlockfile()\n");
} }

View file

@ -804,11 +804,9 @@ size_t mbstowcs(wchar_t*, const char*, size_t)
ASSERT_NOT_REACHED(); ASSERT_NOT_REACHED();
} }
int mbtowc(wchar_t* wch, const char* data, size_t data_size) int mbtowc(wchar_t* wch, const char* data, [[maybe_unused]] size_t data_size)
{ {
// FIXME: This needs a real implementation. // FIXME: This needs a real implementation.
UNUSED_PARAM(data_size);
if (wch && data) { if (wch && data) {
*wch = *data; *wch = *data;
return 1; return 1;
@ -1023,7 +1021,7 @@ unsigned long long strtoull(const char* str, char** endptr, int base)
// Serenity's PRNG is not cryptographically secure. Do not rely on this for // Serenity's PRNG is not cryptographically secure. Do not rely on this for
// any real crypto! These functions (for now) are for compatibility. // any real crypto! These functions (for now) are for compatibility.
// TODO: In the future, rand can be made deterministic and this not. // TODO: In the future, rand can be made deterministic and this not.
uint32_t arc4random(void) uint32_t arc4random()
{ {
char buf[4]; char buf[4];
syscall(SC_getrandom, buf, 4, 0); syscall(SC_getrandom, buf, 4, 0);
@ -1073,15 +1071,13 @@ int posix_openpt(int flags)
return open("/dev/ptmx", flags); return open("/dev/ptmx", flags);
} }
int grantpt(int fd) int grantpt([[maybe_unused]] int fd)
{ {
(void)fd;
return 0; return 0;
} }
int unlockpt(int fd) int unlockpt([[maybe_unused]] int fd)
{ {
(void)fd;
return 0; return 0;
} }
} }

View file

@ -41,13 +41,13 @@ __BEGIN_DECLS
__attribute__((malloc)) __attribute__((alloc_size(1))) void* malloc(size_t); __attribute__((malloc)) __attribute__((alloc_size(1))) void* malloc(size_t);
__attribute__((malloc)) __attribute__((alloc_size(1, 2))) void* calloc(size_t nmemb, size_t); __attribute__((malloc)) __attribute__((alloc_size(1, 2))) void* calloc(size_t nmemb, size_t);
size_t malloc_size(void*); size_t malloc_size(void*);
void serenity_dump_malloc_stats(void); void serenity_dump_malloc_stats();
void free(void*); void free(void*);
__attribute__((alloc_size(2))) void* realloc(void* ptr, size_t); __attribute__((alloc_size(2))) void* realloc(void* ptr, size_t);
char* getenv(const char* name); char* getenv(const char* name);
int putenv(char*); int putenv(char*);
int unsetenv(const char*); int unsetenv(const char*);
int clearenv(void); int clearenv();
int setenv(const char* name, const char* value, int overwrite); int setenv(const char* name, const char* value, int overwrite);
int atoi(const char*); int atoi(const char*);
long atol(const char*); long atol(const char*);
@ -87,7 +87,7 @@ void srand(unsigned seed);
long int random(); long int random();
void srandom(unsigned seed); void srandom(unsigned seed);
uint32_t arc4random(void); uint32_t arc4random();
void arc4random_buf(void*, size_t); void arc4random_buf(void*, size_t);
uint32_t arc4random_uniform(uint32_t); uint32_t arc4random_uniform(uint32_t);

View file

@ -94,7 +94,7 @@ void closelog_r(struct syslog_data* data)
data->maskpri = LOG_UPTO(LOG_DEBUG); data->maskpri = LOG_UPTO(LOG_DEBUG);
} }
void closelog(void) void closelog()
{ {
closelog_r(&global_log_data); closelog_r(&global_log_data);
} }

View file

@ -61,8 +61,8 @@ struct syslog_data {
#define LOG_DAEMON ( 3 << 3) #define LOG_DAEMON ( 3 << 3)
#define LOG_AUTH ( 4 << 3) #define LOG_AUTH ( 4 << 3)
#define LOG_SYSLOG ( 5 << 3) #define LOG_SYSLOG ( 5 << 3)
#define LOG_LPR ( 6 << 3) #define LOG_LPR ( 6 << 3)
#define LOG_NEWS ( 7 << 3) #define LOG_NEWS ( 7 << 3)
#define LOG_UUCP ( 8 << 3) #define LOG_UUCP ( 8 << 3)
#define LOG_CRON ( 9 << 3) #define LOG_CRON ( 9 << 3)
#define LOG_AUTHPRIV (10 << 3) #define LOG_AUTHPRIV (10 << 3)
@ -169,7 +169,7 @@ void vsyslog(int, const char* message, va_list);
void vsyslog_r(int, struct syslog_data* data, const char* message, va_list); void vsyslog_r(int, struct syslog_data* data, const char* message, va_list);
void openlog(const char*, int, int); void openlog(const char*, int, int);
void openlog_r(const char*, int, int, struct syslog_data*); void openlog_r(const char*, int, int, struct syslog_data*);
void closelog(void); void closelog();
void closelog_r(struct syslog_data*); void closelog_r(struct syslog_data*);
int setlogmask(int); int setlogmask(int);
int setlogmask_r(int, struct syslog_data*); int setlogmask_r(int, struct syslog_data*);

View file

@ -39,10 +39,8 @@ char PC;
char* UP; char* UP;
char* BC; char* BC;
int tgetent(char* bp, const char* name) int tgetent([[maybe_unused]] char* bp, [[maybe_unused]] const char* name)
{ {
(void)bp;
(void)name;
#ifdef TERMCAP_DEBUG #ifdef TERMCAP_DEBUG
fprintf(stderr, "tgetent: bp=%p, name='%s'\n", bp, name); fprintf(stderr, "tgetent: bp=%p, name='%s'\n", bp, name);
#endif #endif
@ -120,9 +118,8 @@ char* tgetstr(const char* id, char** area)
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
int tgetflag(const char* id) int tgetflag([[maybe_unused]] const char* id)
{ {
(void)id;
#ifdef TERMCAP_DEBUG #ifdef TERMCAP_DEBUG
fprintf(stderr, "tgetflag: '%s'\n", id); fprintf(stderr, "tgetflag: '%s'\n", id);
#endif #endif
@ -143,17 +140,13 @@ int tgetnum(const char* id)
ASSERT_NOT_REACHED(); ASSERT_NOT_REACHED();
} }
char* tgoto(const char* cap, int col, int row) char* tgoto([[maybe_unused]] const char* cap, [[maybe_unused]] int col, [[maybe_unused]] int row)
{ {
(void)cap;
(void)col;
(void)row;
ASSERT_NOT_REACHED(); ASSERT_NOT_REACHED();
} }
int tputs(const char* str, int affcnt, int (*putc)(int)) int tputs(const char* str, [[maybe_unused]] int affcnt, int (*putc)(int))
{ {
(void)affcnt;
size_t len = strlen(str); size_t len = strlen(str);
for (size_t i = 0; i < len; ++i) for (size_t i = 0; i < len; ++i)
putc(str[i]); putc(str[i]);

View file

@ -51,10 +51,8 @@ int tcsetattr(int fd, int optional_actions, const struct termios* t)
return -1; return -1;
} }
int tcflow(int fd, int action) int tcflow([[maybe_unused]] int fd, [[maybe_unused]] int action)
{ {
(void)fd;
(void)action;
ASSERT_NOT_REACHED(); ASSERT_NOT_REACHED();
} }

View file

@ -31,18 +31,14 @@
extern "C" { extern "C" {
long ulimit(int cmd, long newlimit) long ulimit([[maybe_unused]] int cmd, [[maybe_unused]] long newlimit)
{ {
(void)cmd;
(void)newlimit;
ASSERT_NOT_REACHED(); ASSERT_NOT_REACHED();
return -1; return -1;
} }
int getrusage(int who, struct rusage* usage) int getrusage([[maybe_unused]] int who, [[maybe_unused]] struct rusage* usage)
{ {
(void)who;
(void)usage;
dbg() << "LibC: getrusage is not implemented"; dbg() << "LibC: getrusage is not implemented";
return -1; return -1;
} }

View file

@ -515,11 +515,8 @@ int mknod(const char* pathname, mode_t mode, dev_t dev)
__RETURN_WITH_ERRNO(rc, rc, -1); __RETURN_WITH_ERRNO(rc, rc, -1);
} }
long fpathconf(int fd, int name) long fpathconf([[maybe_unused]] int fd, [[maybe_unused]] int name)
{ {
(void)fd;
(void)name;
switch (name) { switch (name) {
case _PC_PATH_MAX: case _PC_PATH_MAX:
return PATH_MAX; return PATH_MAX;
@ -530,10 +527,8 @@ long fpathconf(int fd, int name)
ASSERT_NOT_REACHED(); ASSERT_NOT_REACHED();
} }
long pathconf(const char* path, int name) long pathconf([[maybe_unused]] const char* path, int name)
{ {
(void)path;
switch (name) { switch (name) {
case _PC_PATH_MAX: case _PC_PATH_MAX:
return PATH_MAX; return PATH_MAX;
@ -614,9 +609,8 @@ void sysbeep()
syscall(SC_beep); syscall(SC_beep);
} }
int fsync(int fd) int fsync([[maybe_unused]] int fd)
{ {
UNUSED_PARAM(fd);
dbgprintf("FIXME: Implement fsync()\n"); dbgprintf("FIXME: Implement fsync()\n");
return 0; return 0;
} }

View file

@ -770,8 +770,7 @@ Board::Result Board::game_result() const
return Result::InsufficientMaterial; return Result::InsufficientMaterial;
bool are_legal_moves = false; bool are_legal_moves = false;
generate_moves([&](Move m) { generate_moves([&]([[maybe_unused]] Move m) {
(void)m;
are_legal_moves = true; are_legal_moves = true;
return IterationDecision::Break; return IterationDecision::Break;
}); });

View file

@ -316,9 +316,8 @@ String BestMoveCommand::to_string() const
return builder.build(); return builder.build();
} }
InfoCommand InfoCommand::from_string(const StringView& command) InfoCommand InfoCommand::from_string([[maybe_unused]] const StringView& command)
{ {
(void)command;
// FIXME: Implement this. // FIXME: Implement this.
ASSERT_NOT_REACHED(); ASSERT_NOT_REACHED();
} }

View file

@ -391,7 +391,7 @@ void DynamicLoader::do_relocations(size_t total_tls_size)
// Eagerly BIND_NOW the PLT entries, doing all the symbol looking goodness // Eagerly BIND_NOW the PLT entries, doing all the symbol looking goodness
// The patch method returns the address for the LAZY fixup path, but we don't need it here // The patch method returns the address for the LAZY fixup path, but we don't need it here
VERBOSE("patching plt reloaction: 0x%x\n", relocation.offset_in_section()); VERBOSE("patching plt reloaction: 0x%x\n", relocation.offset_in_section());
(void)m_dynamic_object->patch_plt_entry(relocation.offset_in_section()); [[maybe_unused]] auto rc = m_dynamic_object->patch_plt_entry(relocation.offset_in_section());
} else { } else {
// LAZY-ily bind the PLT slots by just adding the base address to the offsets stored there // LAZY-ily bind the PLT slots by just adding the base address to the offsets stored there
// This avoids doing symbol lookup, which might be expensive // This avoids doing symbol lookup, which might be expensive
@ -408,7 +408,7 @@ void DynamicLoader::do_relocations(size_t total_tls_size)
} }
// Defined in <arch>/plt_trampoline.S // Defined in <arch>/plt_trampoline.S
extern "C" void _plt_trampoline(void) __attribute__((visibility("hidden"))); extern "C" void _plt_trampoline() __attribute__((visibility("hidden")));
void DynamicLoader::setup_plt_trampoline() void DynamicLoader::setup_plt_trampoline()
{ {

View file

@ -63,9 +63,8 @@ bool JSSyntaxHighlighter::is_identifier(void* token) const
return js_token == JS::TokenType::Identifier; return js_token == JS::TokenType::Identifier;
} }
bool JSSyntaxHighlighter::is_navigatable(void* token) const bool JSSyntaxHighlighter::is_navigatable([[maybe_unused]] void* token) const
{ {
(void)token;
return false; return false;
} }

View file

@ -364,13 +364,11 @@ Bitmap::~Bitmap()
delete[] m_palette; delete[] m_palette;
} }
void Bitmap::set_mmap_name(const StringView& name) void Bitmap::set_mmap_name([[maybe_unused]] const StringView& name)
{ {
ASSERT(m_needs_munmap); ASSERT(m_needs_munmap);
#ifdef __serenity__ #ifdef __serenity__
::set_mmap_name(m_data, size_in_bytes(), name.to_string().characters()); ::set_mmap_name(m_data, size_in_bytes(), name.to_string().characters());
#else
(void)name;
#endif #endif
} }
@ -431,7 +429,7 @@ ShareableBitmap Bitmap::to_shareable_bitmap(pid_t peer_pid) const
return ShareableBitmap(*bitmap); return ShareableBitmap(*bitmap);
} }
Optional<BackingStore> Bitmap::allocate_backing_store(BitmapFormat format, const IntSize& size, Purgeable purgeable) Optional<BackingStore> Bitmap::allocate_backing_store(BitmapFormat format, const IntSize& size, [[maybe_unused]] Purgeable purgeable)
{ {
if (size_would_overflow(format, size)) if (size_would_overflow(format, size))
return {}; return {};
@ -444,7 +442,6 @@ Optional<BackingStore> Bitmap::allocate_backing_store(BitmapFormat format, const
int map_flags = purgeable == Purgeable::Yes ? (MAP_PURGEABLE | MAP_PRIVATE) : (MAP_ANONYMOUS | MAP_PRIVATE); int map_flags = purgeable == Purgeable::Yes ? (MAP_PURGEABLE | MAP_PRIVATE) : (MAP_ANONYMOUS | MAP_PRIVATE);
data = mmap_with_name(nullptr, data_size_in_bytes, PROT_READ | PROT_WRITE, map_flags, 0, 0, String::format("GraphicsBitmap [%dx%d]", size.width(), size.height()).characters()); data = mmap_with_name(nullptr, data_size_in_bytes, PROT_READ | PROT_WRITE, map_flags, 0, 0, String::format("GraphicsBitmap [%dx%d]", size.width(), size.height()).characters());
#else #else
UNUSED_PARAM(purgeable);
int map_flags = (MAP_ANONYMOUS | MAP_PRIVATE); int map_flags = (MAP_ANONYMOUS | MAP_PRIVATE);
data = mmap(nullptr, data_size_in_bytes, PROT_READ | PROT_WRITE, map_flags, 0, 0); data = mmap(nullptr, data_size_in_bytes, PROT_READ | PROT_WRITE, map_flags, 0, 0);
#endif #endif

View file

@ -118,10 +118,8 @@ static int read_number(Streamer& streamer)
return sb.to_string().to_uint().value_or(0); return sb.to_string().to_uint().value_or(0);
} }
static bool read_comment(PBMLoadingContext& context, Streamer& streamer) static bool read_comment([[maybe_unused]] PBMLoadingContext& context, Streamer& streamer)
{ {
(void)context;
bool exist = false; bool exist = false;
u8 byte; u8 byte;

View file

@ -135,10 +135,8 @@ static bool read_number(Streamer& streamer, u16* value)
return true; return true;
} }
static bool read_comment(PGMLoadingContext& context, Streamer& streamer) static bool read_comment([[maybe_unused]] PGMLoadingContext& context, Streamer& streamer)
{ {
(void)context;
bool exist = false; bool exist = false;
u8 byte; u8 byte;

View file

@ -138,10 +138,8 @@ static bool read_number(Streamer& streamer, u16* value)
return true; return true;
} }
static bool read_comment(PPMLoadingContext& context, Streamer& streamer) static bool read_comment([[maybe_unused]] PPMLoadingContext& context, Streamer& streamer)
{ {
(void)context;
bool exist = false; bool exist = false;
u8 byte; u8 byte;

View file

@ -271,11 +271,10 @@ void Job::on_socket_connected()
// we've read everything, now let's get the next chunk // we've read everything, now let's get the next chunk
size = -1; size = -1;
auto line = read_line(PAGE_SIZE); [[maybe_unused]] auto line = read_line(PAGE_SIZE);
#ifdef JOB_DEBUG #ifdef JOB_DEBUG
dbg() << "Line following (should be empty): _" << line << "_"; dbg() << "Line following (should be empty): _" << line << "_";
#endif #endif
(void)line;
} }
m_current_chunk_remaining_size = size; m_current_chunk_remaining_size = size;
} }

View file

@ -166,7 +166,7 @@ bool Decoder::decode(Dictionary& dictionary)
return true; return true;
} }
bool Decoder::decode(File& file) bool Decoder::decode([[maybe_unused]] File& file)
{ {
#ifdef __serenity__ #ifdef __serenity__
int fd = recvfd(m_sockfd); int fd = recvfd(m_sockfd);
@ -177,8 +177,7 @@ bool Decoder::decode(File& file)
file = File(fd); file = File(fd);
return true; return true;
#else #else
(void)file; [[maybe_unused]] auto fd = m_sockfd;
(void)m_sockfd;
warnln("fd passing is not supported on this platform, sorry :("); warnln("fd passing is not supported on this platform, sorry :(");
return false; return false;
#endif #endif

View file

@ -42,7 +42,7 @@
JS::Value name([[maybe_unused]] JS::VM& vm, [[maybe_unused]] JS::GlobalObject& global_object) JS::Value name([[maybe_unused]] JS::VM& vm, [[maybe_unused]] JS::GlobalObject& global_object)
#define JS_DEFINE_NATIVE_SETTER(name) \ #define JS_DEFINE_NATIVE_SETTER(name) \
void name([[maybe_unused]] JS::VM& vm, [[maybe_unused]] JS::GlobalObject& global_object, JS::Value value) void name([[maybe_unused]] JS::VM& vm, [[maybe_unused]] JS::GlobalObject& global_object, [[maybe_unused]] JS::Value value)
// NOTE: Proxy is not included here as it doesn't have a prototype - m_proxy_constructor is initialized separately. // NOTE: Proxy is not included here as it doesn't have a prototype - m_proxy_constructor is initialized separately.
#define JS_ENUMERATE_NATIVE_OBJECTS_EXCLUDING_TEMPLATES \ #define JS_ENUMERATE_NATIVE_OBJECTS_EXCLUDING_TEMPLATES \

View file

@ -63,7 +63,7 @@ public:
if (!m_setter) if (!m_setter)
return; return;
// FIXME: It might be nice if we had a way to communicate to our caller if an exception happened after this. // FIXME: It might be nice if we had a way to communicate to our caller if an exception happened after this.
(void)vm().call(*m_setter, this_value, setter_value); [[maybe_unused]] auto rc = vm().call(*m_setter, this_value, setter_value);
} }
void visit_edges(Cell::Visitor& visitor) override void visit_edges(Cell::Visitor& visitor) override

View file

@ -87,9 +87,8 @@ Object* iterator_next(Object& iterator, Value value)
return &result.as_object(); return &result.as_object();
} }
void iterator_close(Object& iterator) void iterator_close([[maybe_unused]] Object& iterator)
{ {
(void)iterator;
TODO(); TODO();
} }

View file

@ -225,10 +225,7 @@ public:
template<typename... Args> template<typename... Args>
[[nodiscard]] ALWAYS_INLINE Value call(Function& function, Value this_value, Args... args) [[nodiscard]] ALWAYS_INLINE Value call(Function& function, Value this_value, Args... args)
{ {
// Are there any values in this argpack? if constexpr (sizeof...(Args) > 0) {
// args = [] -> if constexpr (false)
// args = [x, y, z] -> if constexpr ((void)x, true || ...)
if constexpr ((((void)args, true) || ...)) {
MarkedValueList arglist { heap() }; MarkedValueList arglist { heap() };
(..., arglist.append(move(args))); (..., arglist.append(move(args)));
return call(function, this_value, move(arglist)); return call(function, this_value, move(arglist));

View file

@ -1480,7 +1480,7 @@ Vector<size_t, 2> Editor::vt_dsr()
do { do {
more_junk_to_read = false; more_junk_to_read = false;
(void)select(1, &readfds, nullptr, nullptr, &timeout); [[maybe_unused]] auto rc = select(1, &readfds, nullptr, nullptr, &timeout);
if (FD_ISSET(0, &readfds)) { if (FD_ISSET(0, &readfds)) {
auto nread = read(0, buf, 16); auto nread = read(0, buf, 16);
if (nread < 0) { if (nread < 0) {

View file

@ -460,19 +460,13 @@ int pthread_attr_setstacksize(pthread_attr_t* attributes, size_t stack_size)
return 0; return 0;
} }
int pthread_getschedparam(pthread_t thread, int* policy, struct sched_param* param) int pthread_getschedparam([[maybe_unused]] pthread_t thread, [[maybe_unused]] int* policy, [[maybe_unused]] struct sched_param* param)
{ {
(void)thread;
(void)policy;
(void)param;
return 0; return 0;
} }
int pthread_setschedparam(pthread_t thread, int policy, const struct sched_param* param) int pthread_setschedparam([[maybe_unused]] pthread_t thread, [[maybe_unused]] int policy, [[maybe_unused]] const struct sched_param* param)
{ {
(void)thread;
(void)policy;
(void)param;
return 0; return 0;
} }

View file

@ -67,7 +67,7 @@ int pthread_attr_setstack(pthread_attr_t* attr, void*, size_t);
int pthread_attr_getstacksize(const pthread_attr_t*, size_t*); int pthread_attr_getstacksize(const pthread_attr_t*, size_t*);
int pthread_attr_setstacksize(pthread_attr_t*, size_t); int pthread_attr_setstacksize(pthread_attr_t*, size_t);
int pthread_once(pthread_once_t*, void (*)(void)); int pthread_once(pthread_once_t*, void (*)());
#define PTHREAD_ONCE_INIT 0 #define PTHREAD_ONCE_INIT 0
void* pthread_getspecific(pthread_key_t key); void* pthread_getspecific(pthread_key_t key);
int pthread_setspecific(pthread_key_t key, const void* value); int pthread_setspecific(pthread_key_t key, const void* value);
@ -100,14 +100,14 @@ int pthread_cancel(pthread_t);
int pthread_cond_destroy(pthread_cond_t*); int pthread_cond_destroy(pthread_cond_t*);
int pthread_cond_timedwait(pthread_cond_t*, pthread_mutex_t*, const struct timespec*); int pthread_cond_timedwait(pthread_cond_t*, pthread_mutex_t*, const struct timespec*);
void pthread_testcancel(void); void pthread_testcancel();
int pthread_spin_destroy(pthread_spinlock_t*); int pthread_spin_destroy(pthread_spinlock_t*);
int pthread_spin_init(pthread_spinlock_t*, int); int pthread_spin_init(pthread_spinlock_t*, int);
int pthread_spin_lock(pthread_spinlock_t*); int pthread_spin_lock(pthread_spinlock_t*);
int pthread_spin_trylock(pthread_spinlock_t*); int pthread_spin_trylock(pthread_spinlock_t*);
int pthread_spin_unlock(pthread_spinlock_t*); int pthread_spin_unlock(pthread_spinlock_t*);
pthread_t pthread_self(void); pthread_t pthread_self();
int pthread_detach(pthread_t); int pthread_detach(pthread_t);
int pthread_equal(pthread_t, pthread_t); int pthread_equal(pthread_t, pthread_t);
int pthread_mutexattr_init(pthread_mutexattr_t*); int pthread_mutexattr_init(pthread_mutexattr_t*);

View file

@ -37,7 +37,7 @@ enum State : i32 {
PERFORMING_WITH_WAITERS, PERFORMING_WITH_WAITERS,
}; };
int pthread_once(pthread_once_t* self, void (*callback)(void)) int pthread_once(pthread_once_t* self, void (*callback)())
{ {
auto& state = reinterpret_cast<Atomic<State>&>(*self); auto& state = reinterpret_cast<Atomic<State>&>(*self);

View file

@ -337,7 +337,6 @@ JS_DEFINE_NATIVE_GETTER(WindowObject::document_getter)
JS_DEFINE_NATIVE_SETTER(WindowObject::document_setter) JS_DEFINE_NATIVE_SETTER(WindowObject::document_setter)
{ {
// FIXME: Figure out what we should do here. Just ignore attempts to set window.document for now. // FIXME: Figure out what we should do here. Just ignore attempts to set window.document for now.
UNUSED_PARAM(value);
} }
JS_DEFINE_NATIVE_GETTER(WindowObject::performance_getter) JS_DEFINE_NATIVE_GETTER(WindowObject::performance_getter)

View file

@ -48,10 +48,9 @@ namespace Web::DOM {
// FIXME: This shouldn't be here, as retargeting is not only used by the event dispatcher. // FIXME: This shouldn't be here, as retargeting is not only used by the event dispatcher.
// When moving this function, it needs to be generalized. https://dom.spec.whatwg.org/#retarget // When moving this function, it needs to be generalized. https://dom.spec.whatwg.org/#retarget
static EventTarget* retarget(EventTarget* left, EventTarget* right) static EventTarget* retarget(EventTarget* left, [[maybe_unused]] EventTarget* right)
{ {
// FIXME // FIXME
UNUSED_PARAM(right);
for (;;) { for (;;) {
if (!is<Node>(left)) if (!is<Node>(left))
return left; return left;
@ -110,7 +109,7 @@ bool EventDispatcher::inner_invoke(Event& event, Vector<EventTarget::EventListen
auto* this_value = Bindings::wrap(global, *event.current_target()); auto* this_value = Bindings::wrap(global, *event.current_target());
auto* wrapped_event = Bindings::wrap(global, event); auto* wrapped_event = Bindings::wrap(global, event);
auto& vm = global.vm(); auto& vm = global.vm();
(void)vm.call(listener.listener->function(), this_value, wrapped_event); [[maybe_unused]] auto rc = vm.call(listener.listener->function(), this_value, wrapped_event);
if (vm.exception()) { if (vm.exception()) {
vm.clear_exception(); vm.clear_exception();
// FIXME: Set legacyOutputDidListenersThrowFlag if given. (Only used by IndexedDB currently) // FIXME: Set legacyOutputDidListenersThrowFlag if given. (Only used by IndexedDB currently)

View file

@ -98,7 +98,7 @@ void Window::timer_did_fire(Badge<Timer>, Timer& timer)
m_timers.remove(timer.id()); m_timers.remove(timer.id());
} }
(void)vm.call(timer.callback(), wrapper()); [[maybe_unused]] auto rc = vm.call(timer.callback(), wrapper());
if (vm.exception()) if (vm.exception())
vm.clear_exception(); vm.clear_exception();
} }
@ -132,7 +132,7 @@ i32 Window::request_animation_frame(JS::Function& callback)
auto& function = const_cast<JS::Function&>(static_cast<const JS::Function&>(*handle.cell())); auto& function = const_cast<JS::Function&>(static_cast<const JS::Function&>(*handle.cell()));
auto& vm = function.vm(); auto& vm = function.vm();
fake_timestamp += 10; fake_timestamp += 10;
(void)vm.call(function, {}, JS::Value(fake_timestamp)); [[maybe_unused]] auto rc = vm.call(function, {}, JS::Value(fake_timestamp));
if (vm.exception()) if (vm.exception())
vm.clear_exception(); vm.clear_exception();
GUI::DisplayLink::unregister_callback(link_id); GUI::DisplayLink::unregister_callback(link_id);

View file

@ -301,9 +301,8 @@ bool EventHandler::handle_mousemove(const Gfx::IntPoint& position, unsigned butt
return true; return true;
} }
void EventHandler::dump_selection(const char* event_name) const void EventHandler::dump_selection([[maybe_unused]] const char* event_name) const
{ {
UNUSED_PARAM(event_name);
#ifdef SELECTION_DEBUG #ifdef SELECTION_DEBUG
dbg() << event_name << " selection start: " dbg() << event_name << " selection start: "
<< layout_root()->selection().start().layout_node << ":" << layout_root()->selection().start().index_in_node << ", end: " << layout_root()->selection().start().layout_node << ":" << layout_root()->selection().start().index_in_node << ", end: "

View file

@ -359,7 +359,7 @@ inline void TreeNode<T>::append_child(NonnullRefPtr<T> node, bool notify)
m_first_child = m_last_child; m_first_child = m_last_child;
if (notify) if (notify)
node->inserted_into(static_cast<T&>(*this)); node->inserted_into(static_cast<T&>(*this));
(void)node.leak_ref(); [[maybe_unused]] auto& rc = node.leak_ref();
if (notify) if (notify)
static_cast<T*>(this)->children_changed(); static_cast<T*>(this)->children_changed();
@ -394,7 +394,7 @@ inline void TreeNode<T>::insert_before(NonnullRefPtr<T> node, RefPtr<T> child, b
node->m_parent = static_cast<T*>(this); node->m_parent = static_cast<T*>(this);
if (notify) if (notify)
node->inserted_into(static_cast<T&>(*this)); node->inserted_into(static_cast<T&>(*this));
(void)node.leak_ref(); [[maybe_unused]] auto& rc = node.leak_ref();
if (notify) if (notify)
static_cast<T*>(this)->children_changed(); static_cast<T*>(this)->children_changed();
@ -416,7 +416,7 @@ inline void TreeNode<T>::prepend_child(NonnullRefPtr<T> node)
if (!m_last_child) if (!m_last_child)
m_last_child = m_first_child; m_last_child = m_first_child;
node->inserted_into(static_cast<T&>(*this)); node->inserted_into(static_cast<T&>(*this));
(void)node.leak_ref(); [[maybe_unused]] auto& rc = node.leak_ref();
static_cast<T*>(this)->children_changed(); static_cast<T*>(this)->children_changed();
} }

View file

@ -32,7 +32,6 @@
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
{ {
auto pattern = AK::StringView(static_cast<const unsigned char*>(data), size); auto pattern = AK::StringView(static_cast<const unsigned char*>(data), size);
Regex<ECMA262> re(pattern); [[maybe_unused]] auto re = Regex<ECMA262>(pattern);
(void)re;
return 0; return 0;
} }

View file

@ -32,7 +32,6 @@
extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
{ {
auto pattern = AK::StringView(static_cast<const unsigned char*>(data), size); auto pattern = AK::StringView(static_cast<const unsigned char*>(data), size);
Regex<PosixExtended> re(pattern); [[maybe_unused]] auto re = Regex<PosixExtended>(pattern);
(void)re;
return 0; return 0;
} }

View file

@ -51,11 +51,8 @@ static MACAddress mac_from_string(const String& str)
}; };
} }
int main(int argc, char** argv) int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv)
{ {
(void)argc;
(void)argv;
if (pledge("stdio unix inet cpath rpath fattr", nullptr) < 0) { if (pledge("stdio unix inet cpath rpath fattr", nullptr) < 0) {
perror("pledge"); perror("pledge");
return 1; return 1;

View file

@ -32,11 +32,8 @@
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
int main(int argc, char** argv) int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv)
{ {
(void)argc;
(void)argv;
Core::EventLoop event_loop; Core::EventLoop event_loop;
auto server = Core::LocalServer::construct(); auto server = Core::LocalServer::construct();

View file

@ -29,11 +29,8 @@
#include <LibCore/LocalServer.h> #include <LibCore/LocalServer.h>
#include <stdio.h> #include <stdio.h>
int main(int argc, char** argv) int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv)
{ {
(void)argc;
(void)argv;
if (pledge("stdio accept unix inet cpath rpath fattr", nullptr) < 0) { if (pledge("stdio accept unix inet cpath rpath fattr", nullptr) < 0) {
perror("pledge"); perror("pledge");
return 1; return 1;

View file

@ -41,7 +41,7 @@ int main(int, char**)
} }
// Ensure the certificates are read out here. // Ensure the certificates are read out here.
(void)DefaultRootCACertificates::the(); [[maybe_unused]] auto& certs = DefaultRootCACertificates::the();
Core::EventLoop event_loop; Core::EventLoop event_loop;
// FIXME: Establish a connection to LookupServer and then drop "unix"? // FIXME: Establish a connection to LookupServer and then drop "unix"?
@ -58,9 +58,9 @@ int main(int, char**)
return 1; return 1;
} }
(void)*new ProtocolServer::GeminiProtocol; [[maybe_unused]] auto gemini = new ProtocolServer::GeminiProtocol;
(void)*new ProtocolServer::HttpProtocol; [[maybe_unused]] auto http = new ProtocolServer::HttpProtocol;
(void)*new ProtocolServer::HttpsProtocol; [[maybe_unused]] auto https = new ProtocolServer::HttpsProtocol;
auto socket = Core::LocalSocket::take_over_accepted_socket_from_system_server(); auto socket = Core::LocalSocket::take_over_accepted_socket_from_system_server();
ASSERT(socket); ASSERT(socket);

View file

@ -57,13 +57,13 @@ static void run_command(int ptm_fd, String command)
} }
// NOTE: It's okay if this fails. // NOTE: It's okay if this fails.
(void)ioctl(0, TIOCNOTTY); [[maybe_unused]] auto rc = ioctl(0, TIOCNOTTY);
close(0); close(0);
close(1); close(1);
close(2); close(2);
int rc = dup2(pts_fd, 0); rc = dup2(pts_fd, 0);
if (rc < 0) { if (rc < 0) {
perror("dup2"); perror("dup2");
exit(1); exit(1);

View file

@ -361,10 +361,8 @@ void WindowManager::notify_modal_unparented(Window& window)
tell_wm_listeners_window_state_changed(window); tell_wm_listeners_window_state_changed(window);
} }
void WindowManager::notify_rect_changed(Window& window, const Gfx::IntRect& old_rect, const Gfx::IntRect& new_rect) void WindowManager::notify_rect_changed(Window& window, [[maybe_unused]] const Gfx::IntRect& old_rect, [[maybe_unused]] const Gfx::IntRect& new_rect)
{ {
UNUSED_PARAM(old_rect);
UNUSED_PARAM(new_rect);
#ifdef RESIZE_DEBUG #ifdef RESIZE_DEBUG
dbg() << "[WM] Window " << &window << " rect changed " << old_rect << " -> " << new_rect; dbg() << "[WM] Window " << &window << " rect changed " << old_rect << " -> " << new_rect;
#endif #endif

View file

@ -188,8 +188,7 @@ static void allocate_tls()
total_tls_size += data.value->tls_size(); total_tls_size += data.value->tls_size();
} }
if (total_tls_size) { if (total_tls_size) {
void* tls_address = allocate_tls(total_tls_size); [[maybe_unused]] void* tls_address = allocate_tls(total_tls_size);
(void)tls_address;
VERBOSE("from userspace, tls_address: %p", tls_address); VERBOSE("from userspace, tls_address: %p", tls_address);
} }
g_total_tls_size = total_tls_size; g_total_tls_size = total_tls_size;
@ -211,7 +210,7 @@ static void initialize_libc()
res = global_symbol_lookup("__libc_init"); res = global_symbol_lookup("__libc_init");
ASSERT(res.found); ASSERT(res.found);
typedef void libc_init_func(void); typedef void libc_init_func();
((libc_init_func*)res.address)(); ((libc_init_func*)res.address)();
} }
@ -262,8 +261,7 @@ static FlatPtr loader_main(auxv_t* auxvp)
map_dependencies(main_program_name); map_dependencies(main_program_name);
VERBOSE("loaded all dependencies"); VERBOSE("loaded all dependencies");
for (auto& lib : g_loaders) { for ([[maybe_unused]] auto& lib : g_loaders) {
(void)lib;
VERBOSE("%s - tls size: $u, tls offset: %u", lib.key.characters(), lib.value->tls_size(), lib.value->tls_offset()); VERBOSE("%s - tls size: $u, tls offset: %u", lib.key.characters(), lib.value->tls_size(), lib.value->tls_offset());
} }
@ -301,8 +299,7 @@ void _start(int argc, char** argv, char** envp)
FlatPtr entry = loader_main(auxvp); FlatPtr entry = loader_main(auxvp);
VERBOSE("Loaded libs:\n"); VERBOSE("Loaded libs:\n");
for (auto& obj : g_loaded_objects) { for ([[maybe_unused]] auto& obj : g_loaded_objects) {
(void)obj;
VERBOSE("%s: %p\n", obj.key.characters(), obj.value->base_address().as_ptr()); VERBOSE("%s: %p\n", obj.key.characters(), obj.value->base_address().as_ptr());
} }

View file

@ -263,11 +263,11 @@ static long long cast_ll(double d)
long long as_ll; long long as_ll;
}; };
typedef char assert_double_8bytes[sizeof(double) == 8 ? 1 : -1]; typedef char assert_double_8bytes[sizeof(double) == 8 ? 1 : -1];
(void)sizeof(assert_double_8bytes); [[maybe_unused]] auto double_size = sizeof(assert_double_8bytes);
typedef char assert_ll_8bytes[sizeof(long long) == 8 ? 1 : -1]; typedef char assert_ll_8bytes[sizeof(long long) == 8 ? 1 : -1];
(void)sizeof(assert_ll_8bytes); [[maybe_unused]] auto longlong_size = sizeof(assert_ll_8bytes);
typedef char assert_readable_8bytes[sizeof(readable_t) == 8 ? 1 : -1]; typedef char assert_readable_8bytes[sizeof(readable_t) == 8 ? 1 : -1];
(void)sizeof(assert_readable_8bytes); [[maybe_unused]] auto readable8_size = sizeof(assert_readable_8bytes);
readable_t readable; readable_t readable;
readable.as_double = d; readable.as_double = d;
return readable.as_ll; return readable.as_ll;
@ -280,9 +280,9 @@ static bool is_strtod_close(strtod_fn_t strtod_fn, const char* test_string, cons
unsigned char as_bytes[8]; unsigned char as_bytes[8];
}; };
typedef char assert_double_8bytes[sizeof(double) == 8 ? 1 : -1]; typedef char assert_double_8bytes[sizeof(double) == 8 ? 1 : -1];
(void)sizeof(assert_double_8bytes); [[maybe_unused]] auto double_size = sizeof(assert_double_8bytes);
typedef char assert_readable_8bytes[sizeof(readable_t) == 8 ? 1 : -1]; typedef char assert_readable_8bytes[sizeof(readable_t) == 8 ? 1 : -1];
(void)sizeof(assert_readable_8bytes); [[maybe_unused]] auto readable8_size = sizeof(assert_readable_8bytes);
readable_t readable; readable_t readable;
char* endptr = (char*)0x123; char* endptr = (char*)0x123;

View file

@ -31,7 +31,7 @@
#include <string.h> #include <string.h>
#include <unistd.h> #include <unistd.h>
static void usage(void) static void usage()
{ {
printf("usage: allocate [number [unit (B/KiB/MiB)]]\n"); printf("usage: allocate [number [unit (B/KiB/MiB)]]\n");
exit(1); exit(1);

View file

@ -170,8 +170,7 @@ int main(int argc, char** argv)
Crash("Division by zero", []() { Crash("Division by zero", []() {
volatile int lala = 10; volatile int lala = 10;
volatile int zero = 0; volatile int zero = 0;
volatile int test = lala / zero; [[maybe_unused]] volatile int test = lala / zero;
UNUSED_PARAM(test);
return Crash::Failure::DidNotCrash; return Crash::Failure::DidNotCrash;
}).run(run_type); }).run(run_type);
} }
@ -196,8 +195,7 @@ int main(int argc, char** argv)
if (!uninitialized_memory) if (!uninitialized_memory)
return Crash::Failure::UnexpectedError; return Crash::Failure::UnexpectedError;
volatile auto x = uninitialized_memory[0][0]; [[maybe_unused]] volatile auto x = uninitialized_memory[0][0];
UNUSED_PARAM(x);
return Crash::Failure::DidNotCrash; return Crash::Failure::DidNotCrash;
}).run(run_type); }).run(run_type);
} }
@ -209,8 +207,7 @@ int main(int argc, char** argv)
return Crash::Failure::UnexpectedError; return Crash::Failure::UnexpectedError;
free(uninitialized_memory); free(uninitialized_memory);
volatile auto x = uninitialized_memory[4][0]; [[maybe_unused]] volatile auto x = uninitialized_memory[4][0];
UNUSED_PARAM(x);
return Crash::Failure::DidNotCrash; return Crash::Failure::DidNotCrash;
}).run(run_type); }).run(run_type);
} }
@ -305,8 +302,7 @@ int main(int argc, char** argv)
free(ptr); free(ptr);
dbgprintf("ptr = %p\n", ptr); dbgprintf("ptr = %p\n", ptr);
volatile auto foo = *ptr; [[maybe_unused]] volatile auto foo = *ptr;
UNUSED_PARAM(foo);
return Crash::Failure::DidNotCrash; return Crash::Failure::DidNotCrash;
}).run(run_type); }).run(run_type);
} }

View file

@ -78,14 +78,11 @@ int main(int argc, char** argv)
auto fs = fs_object.get("class_name").to_string(); auto fs = fs_object.get("class_name").to_string();
auto total_block_count = fs_object.get("total_block_count").to_u32(); auto total_block_count = fs_object.get("total_block_count").to_u32();
auto free_block_count = fs_object.get("free_block_count").to_u32(); auto free_block_count = fs_object.get("free_block_count").to_u32();
auto total_inode_count = fs_object.get("total_inode_count").to_u32(); [[maybe_unused]] auto total_inode_count = fs_object.get("total_inode_count").to_u32();
auto free_inode_count = fs_object.get("free_inode_count").to_u32(); [[maybe_unused]] auto free_inode_count = fs_object.get("free_inode_count").to_u32();
auto block_size = fs_object.get("block_size").to_u32(); auto block_size = fs_object.get("block_size").to_u32();
auto mount_point = fs_object.get("mount_point").to_string(); auto mount_point = fs_object.get("mount_point").to_string();
(void)total_inode_count;
(void)free_inode_count;
printf("%-10s", fs.characters()); printf("%-10s", fs.characters());
if (flag_human_readable) { if (flag_human_readable) {

View file

@ -31,7 +31,7 @@
#include <stdio.h> #include <stdio.h>
#include <unistd.h> #include <unistd.h>
int main(int argc, char** argv) int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv)
{ {
if (pledge("stdio rpath", nullptr) < 0) { if (pledge("stdio rpath", nullptr) < 0) {
perror("pledge"); perror("pledge");
@ -45,8 +45,6 @@ int main(int argc, char** argv)
unveil(nullptr, nullptr); unveil(nullptr, nullptr);
(void)argc;
(void)argv;
auto f = Core::File::construct("/proc/dmesg"); auto f = Core::File::construct("/proc/dmesg");
if (!f->open(Core::IODevice::ReadOnly)) { if (!f->open(Core::IODevice::ReadOnly)) {
fprintf(stderr, "open: failed to open /proc/dmesg: %s\n", f->error_string()); fprintf(stderr, "open: failed to open /proc/dmesg: %s\n", f->error_string());

View file

@ -84,7 +84,7 @@ static void print_syscall(PtraceRegisters& regs, size_t depth)
static NonnullOwnPtr<HashMap<void*, X86::Instruction>> instrument_code() static NonnullOwnPtr<HashMap<void*, X86::Instruction>> instrument_code()
{ {
(void)demangle("foo"); // Required for linked with __cxa_demangle [[maybe_unused]] auto r = demangle("foo"); // Required for linked with __cxa_demangle
auto instrumented = make<HashMap<void*, X86::Instruction>>(); auto instrumented = make<HashMap<void*, X86::Instruction>>();
g_debug_session->elf().image().for_each_section_of_type(SHT_PROGBITS, [&](const ELF::Image::Section& section) { g_debug_session->elf().image().for_each_section_of_type(SHT_PROGBITS, [&](const ELF::Image::Section& section) {
if (section.name() != ".text") if (section.name() != ".text")

View file

@ -31,11 +31,8 @@
#include <LibCore/File.h> #include <LibCore/File.h>
#include <stdio.h> #include <stdio.h>
int main(int argc, char** argv) int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv)
{ {
UNUSED_PARAM(argc);
UNUSED_PARAM(argv);
if (pledge("stdio rpath", nullptr) < 0) { if (pledge("stdio rpath", nullptr) < 0) {
perror("pledge"); perror("pledge");
return 1; return 1;

View file

@ -32,11 +32,8 @@
#include <LibPCIDB/Database.h> #include <LibPCIDB/Database.h>
#include <stdio.h> #include <stdio.h>
int main(int argc, char** argv) int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv)
{ {
UNUSED_PARAM(argc);
UNUSED_PARAM(argv);
if (pledge("stdio rpath", nullptr) < 0) { if (pledge("stdio rpath", nullptr) < 0) {
perror("pledge"); perror("pledge");
return 1; return 1;

View file

@ -36,15 +36,12 @@ static void wait_for_key()
printf("\033[7m--[ more ]--\033[0m"); printf("\033[7m--[ more ]--\033[0m");
fflush(stdout); fflush(stdout);
char dummy; char dummy;
(void)read(key_fd, &dummy, 1); [[maybe_unused]] auto rc = read(key_fd, &dummy, 1);
printf("\n"); printf("\n");
} }
int main(int argc, char** argv) int main([[maybe_unused]] int argc, [[maybe_unused]] char** argv)
{ {
(void)argc;
(void)argv;
if (pledge("stdio rpath tty", nullptr) < 0) { if (pledge("stdio rpath tty", nullptr) < 0) {
perror("pledge"); perror("pledge");
return 1; return 1;

Some files were not shown because too many files have changed in this diff Show more