From a4af9851433481575798e7bbb505c9d22bdf699a Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 18 Mar 2026 06:41:16 +0000 Subject: build: install clang tidy in devcontainer --- .devcontainer/x86-64/devcontainer.json | 4 ++-- CMakeLists.txt | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.devcontainer/x86-64/devcontainer.json b/.devcontainer/x86-64/devcontainer.json index ec50ecb..41e9a95 100644 --- a/.devcontainer/x86-64/devcontainer.json +++ b/.devcontainer/x86-64/devcontainer.json @@ -1,11 +1,11 @@ { "name": "TeachOS on x86-64", - "image": "registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:15.2.0-2", + "image": "registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:15.2.0-3", "features": { "ghcr.io/devcontainers/features/git:1": {}, "ghcr.io/devcontainers/features/git-lfs:1": {}, "ghcr.io/devcontainers-extra/features/apt-packages:1": { - "packages": "cmake,grub2-common,grub-pc,mtools,ninja-build,qemu-system-x86,ssh,xorriso" + "packages": "clang-tidy-21,cmake,grub2-common,grub-pc,mtools,ninja-build,qemu-system-x86,ssh,xorriso" } }, "customizations": { diff --git a/CMakeLists.txt b/CMakeLists.txt index 2343c77..7654ed0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -42,7 +42,10 @@ add_compile_options( # Global Linting Configuration #]============================================================================] -find_program(CLANG_TIDY_EXE "clang-tidy") +find_program(CLANG_TIDY_EXE NAMES + "clang-tidy-21" + "clang-tidy" +) if(CLANG_TIDY_EXE AND TEACHOS_ENABLE_LINTING) set(CMAKE_C_CLANG_TIDY "${CLANG_TIDY_EXE}") -- cgit v1.2.3 From 3439e75d1571ff1ef0179a358e522050121ab1da Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 18 Mar 2026 06:49:30 +0000 Subject: ci: install clang-tidy --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1c1548b..f2cfd1d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,10 +6,10 @@ build: stage: build - image: registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:15.2.0-1 + image: registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:15.2.0-3 before_script: - apt update - - apt install -y cmake grub2-common grub-pc mtools ninja-build xorriso + - apt install -y clang-tidy-21 cmake grub2-common grub-pc mtools ninja-build xorriso script: - cmake --preset $PLATFORM - cmake --build --preset $PLATFORM-$TYPE -- cgit v1.2.3 From 6cbd857d605a7b340f6cbbc157377736c3e67196 Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Wed, 18 Mar 2026 07:24:17 +0000 Subject: ide: enable additional clangd flags --- .vscode/settings.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 08f9457..321f765 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,7 +4,11 @@ "clangd.arguments": [ "--compile-commands-dir=${workspaceFolder}/build", - "--query-driver=**/x86_64-pc-elf-g++" + "--query-driver=**/x86_64-pc-elf-g++", + "--completion-style=detailed", + "--background-index", + "--clang-tidy", + "--header-insertion=iwyu" ], "files.associations": { -- cgit v1.2.3 From 8c502bc3423a6b3597ffbebb06a3fa3e17a6e4b0 Mon Sep 17 00:00:00 2001 From: Lukas Oesch Date: Wed, 18 Mar 2026 09:21:11 +0100 Subject: fix clang-tidy warnings --- kernel/include/kernel/devices/block_device.hpp | 5 ----- kernel/src/devices/storage/ram_disk/ram_disk_controller.cpp | 1 - kernel/src/filesystem/vfs.cpp | 1 - kernel/src/main.cpp | 4 +++- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/kernel/include/kernel/devices/block_device.hpp b/kernel/include/kernel/devices/block_device.hpp index 2a6f061..fb7d104 100644 --- a/kernel/include/kernel/devices/block_device.hpp +++ b/kernel/include/kernel/devices/block_device.hpp @@ -22,11 +22,6 @@ namespace devices */ block_device(size_t major, size_t minor, std::string_view name, size_t block_size); - /** - * @brief Virtual destructor for block device. - */ - virtual ~block_device() = default; - /** * @brief Read data from the block at @p block_index into @p buffer. * @param block_index Zero-based block index. diff --git a/kernel/src/devices/storage/ram_disk/ram_disk_controller.cpp b/kernel/src/devices/storage/ram_disk/ram_disk_controller.cpp index efb6256..f3e9f70 100644 --- a/kernel/src/devices/storage/ram_disk/ram_disk_controller.cpp +++ b/kernel/src/devices/storage/ram_disk/ram_disk_controller.cpp @@ -5,7 +5,6 @@ #include "kernel/devices/storage/ram_disk/ram_disk_device.hpp" #include -#include #include #include diff --git a/kernel/src/filesystem/vfs.cpp b/kernel/src/filesystem/vfs.cpp index 2123fc7..4e0b6bf 100644 --- a/kernel/src/filesystem/vfs.cpp +++ b/kernel/src/filesystem/vfs.cpp @@ -12,7 +12,6 @@ #include "kernel/filesystem/mount.hpp" #include "kernel/filesystem/open_file_description.hpp" -#include #include #include diff --git a/kernel/src/main.cpp b/kernel/src/main.cpp index 6ced18c..eb59402 100644 --- a/kernel/src/main.cpp +++ b/kernel/src/main.cpp @@ -51,7 +51,9 @@ auto run_test_code() -> void kstd::println("---"); // write half of the file new - kstd::vector write_buffer{std::byte{0xBB}, std::byte{0xAA}}; + auto const value1 = std::byte{0xAA}; + auto const value2 = std::byte{0xBB}; + kstd::vector write_buffer{value1, value2}; auto written_bytes = fd->write(write_buffer.data(), write_buffer.size()); kstd::println("written bytes: {}", written_bytes); -- cgit v1.2.3