aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-03-18 09:55:05 +0100
committerFelix Morgner <felix.morgner@ost.ch>2026-03-18 09:55:05 +0100
commitd25a933ee9df6bc34e806f71b86afb68c391a177 (patch)
treedbc0b4b6984ff9e9ed5ca0df442682f6b96f20a0
parentb3538509091a59cd945ff48509ece5a97c59071d (diff)
parent8c502bc3423a6b3597ffbebb06a3fa3e17a6e4b0 (diff)
downloadteachos-d25a933ee9df6bc34e806f71b86afb68c391a177.tar.xz
teachos-d25a933ee9df6bc34e806f71b86afb68c391a177.zip
Merge branch 'fmorgner/clang-tidy-in-toolchain' into 'develop-BA-FS26'
build: add clang-tidy to toolchain See merge request teachos/kernel!14
-rw-r--r--.devcontainer/x86-64/devcontainer.json4
-rw-r--r--.gitlab-ci.yml4
-rw-r--r--.vscode/settings.json6
-rw-r--r--CMakeLists.txt5
-rw-r--r--kernel/include/kernel/devices/block_device.hpp5
-rw-r--r--kernel/src/devices/storage/ram_disk/ram_disk_controller.cpp1
-rw-r--r--kernel/src/filesystem/vfs.cpp1
-rw-r--r--kernel/src/main.cpp4
8 files changed, 16 insertions, 14 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/.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
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": {
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}")
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
@@ -23,11 +23,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.
* @param buffer Destination buffer.
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 <kstd/memory>
-#include <kstd/print>
#include <algorithm>
#include <cstddef>
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 <kstd/cstring>
#include <kstd/memory>
#include <algorithm>
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<std::byte> write_buffer{std::byte{0xBB}, std::byte{0xAA}};
+ auto const value1 = std::byte{0xAA};
+ auto const value2 = std::byte{0xBB};
+ kstd::vector<std::byte> write_buffer{value1, value2};
auto written_bytes = fd->write(write_buffer.data(), write_buffer.size());
kstd::println("written bytes: {}", written_bytes);