From 1f312b3080adde53b9a6f635ea2983e9e1bc8e6f Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Thu, 29 Jan 2026 23:16:11 +0100 Subject: [PATCH 01/12] clang-tidy file --- .clang-tidy | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .clang-tidy diff --git a/.clang-tidy b/.clang-tidy new file mode 100644 index 0000000..92f8412 --- /dev/null +++ b/.clang-tidy @@ -0,0 +1,23 @@ +# .clang-tidy +--- +Checks: > + -*, + bugprone-*, + clang-analyzer-*, + cppcoreguidelines-*, + modernize-*, + performance-*, + readability-*, + portability-*, + + -modernize-use-trailing-return-type, + -readability-avoid-const-params-in-decls, + -cppcoreguidelines-macro-usage, + -cppcoreguidelines-avoid-do-while + +HeaderFilterRegex: '^(Bigfoot)/' +ExcludeHeaderFilterRegex: '_generated.*' + +CheckOptions: + - key: readability-implicit-bool-conversion.AllowPointerConditions + value: true \ No newline at end of file -- 2.49.1 From bde69b46aa036a344fd989a7ef423ecff3ba4a46 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Fri, 30 Jan 2026 15:45:47 +0100 Subject: [PATCH 02/12] test sonar analysis --- .gitea/workflows/sonarqube.yml | 37 ++++++++++++++++++++++++++++++++++ conanfile.py | 2 +- sonar-project.properties | 10 +++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 .gitea/workflows/sonarqube.yml create mode 100644 sonar-project.properties diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml new file mode 100644 index 0000000..15bacf8 --- /dev/null +++ b/.gitea/workflows/sonarqube.yml @@ -0,0 +1,37 @@ +name: Bigfoot + +on: + push: + branches: + - '**' + workflow_dispatch: + +jobs: + build-and-test: + runs-on: ubuntu-latest + timeout-minutes: 120 + container: + image: git.romainboullard.com/bigfootdev/linuxbigfootbuilder:main + name: "Sonarqube" + steps: + - name: Install Node.js + run: apt-get update && apt-get install -y nodejs + + - name: Checkout repository + uses: actions/checkout@v6 + with: + submodules: recursive + + - name: Generate + run: | + conan install . --deployer=full_deploy --deployer-folder=build --remote=bigfootpackages -pr:h=clang -pr:b=clang --build=missing -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True -o bigfoot/*:build_benchmarks=True + cmake -S . -B ./build/Debug --toolchain ./build/Debug/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_UNITY_BUILD=Debug -G "Ninja" + + - name: Clang-Tidy + run: run-clang-tidy -p ./build/Debug/ >> tidy_result + + - name: SonarQube Scan + uses: SonarSource/sonarqube-scan-action@7.0.0 + env: + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + SONAR_HOST: ${{ secrets.SONAR_HOST }} \ No newline at end of file diff --git a/conanfile.py b/conanfile.py index 5e7c205..ffad6ab 100644 --- a/conanfile.py +++ b/conanfile.py @@ -65,7 +65,7 @@ class Bigfoot(ConanFile): self.requires("eastl/3.27.01@bigfootdev/main", transitive_headers=True) self.requires("unordered_dense/4.8.1@bigfootdev/main", transitive_headers=True) self.requires("mimalloc/3.1.5@bigfootdev/main", transitive_headers=True) - self.requires("stduuid/1.2.3", transitive_headers=True) + self.requires("stduuid/1.2.3@bigfootdev/main", transitive_headers=True) self.requires("sqlite3/3.51.0@bigfootdev/main", transitive_headers=True) self.requires("cli11/2.6.0") self.requires("rapidhash/3.0@bigfootdev/main", transitive_headers=True) diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 0000000..d2fc0e0 --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,10 @@ +sonar.projectKey=Bigfoot + +sonar.projectVersion=0.1.0 + +sonar.sourceEncoding=UTF-8 + +sonar.sources=Bigfoot/Sources +sonar.tests=Bigfoot/Tests + +sonar.cxx.clangtidy.reportPaths=tidy_result \ No newline at end of file -- 2.49.1 From 942462563b5d3b131eaf4c6b093bbcf4499d154c Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Fri, 30 Jan 2026 15:54:59 +0100 Subject: [PATCH 03/12] typo --- .gitea/workflows/sonarqube.yml | 2 +- Bigfoot/Sources/Utils/Include/Utils/Version.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml index 15bacf8..7dd5b4b 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -31,7 +31,7 @@ jobs: run: run-clang-tidy -p ./build/Debug/ >> tidy_result - name: SonarQube Scan - uses: SonarSource/sonarqube-scan-action@7.0.0 + uses: SonarSource/sonarqube-scan-action@v7.0.0 env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} SONAR_HOST: ${{ secrets.SONAR_HOST }} \ No newline at end of file diff --git a/Bigfoot/Sources/Utils/Include/Utils/Version.hpp b/Bigfoot/Sources/Utils/Include/Utils/Version.hpp index 2751ec9..68e0bfa 100644 --- a/Bigfoot/Sources/Utils/Include/Utils/Version.hpp +++ b/Bigfoot/Sources/Utils/Include/Utils/Version.hpp @@ -92,7 +92,7 @@ class Version return m_combined; } - [[nodiscard]] operator std::string() const; + operator std::string() const; constexpr Version& operator=(const Version& p_version) = default; -- 2.49.1 From 9786d5a01680ba3f374e418f29585093d9d6007a Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Fri, 30 Jan 2026 16:06:22 +0100 Subject: [PATCH 04/12] typo --- .gitea/workflows/sonarqube.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml index 7dd5b4b..bc64429 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -34,4 +34,4 @@ jobs: uses: SonarSource/sonarqube-scan-action@v7.0.0 env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} - SONAR_HOST: ${{ secrets.SONAR_HOST }} \ No newline at end of file + SONAR_HOST_URL: ${{ secrets.SONAR_HOST }} \ No newline at end of file -- 2.49.1 From 5412d2bf5b6cd0113fef9aa431f75f4b6328a959 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Fri, 30 Jan 2026 16:19:57 +0100 Subject: [PATCH 05/12] mandatory suffixes --- sonar-project.properties | 1 + tidy_result | 751 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 752 insertions(+) create mode 100644 tidy_result diff --git a/sonar-project.properties b/sonar-project.properties index d2fc0e0..5619c38 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -7,4 +7,5 @@ sonar.sourceEncoding=UTF-8 sonar.sources=Bigfoot/Sources sonar.tests=Bigfoot/Tests +sonar.cxx.file.suffixes=.hpp,.cpp,.h sonar.cxx.clangtidy.reportPaths=tidy_result \ No newline at end of file diff --git a/tidy_result b/tidy_result new file mode 100644 index 0000000..3c0159d --- /dev/null +++ b/tidy_result @@ -0,0 +1,751 @@ +Enabled checks: + bugprone-argument-comment + bugprone-assert-side-effect + bugprone-assignment-in-if-condition + bugprone-bad-signal-to-kill-thread + bugprone-bitwise-pointer-cast + bugprone-bool-pointer-implicit-conversion + bugprone-branch-clone + bugprone-capturing-this-in-member-variable + bugprone-casting-through-void + bugprone-chained-comparison + bugprone-compare-pointer-to-member-virtual-function + bugprone-copy-constructor-init + bugprone-crtp-constructor-accessibility + bugprone-dangling-handle + bugprone-dynamic-static-initializers + bugprone-easily-swappable-parameters + bugprone-empty-catch + bugprone-exception-escape + bugprone-fold-init-type + bugprone-forward-declaration-namespace + bugprone-forwarding-reference-overload + bugprone-implicit-widening-of-multiplication-result + bugprone-inaccurate-erase + bugprone-inc-dec-in-conditions + bugprone-incorrect-enable-if + bugprone-incorrect-enable-shared-from-this + bugprone-incorrect-roundings + bugprone-infinite-loop + bugprone-integer-division + bugprone-lambda-function-name + bugprone-macro-parentheses + bugprone-macro-repeated-side-effects + bugprone-misleading-setter-of-reference + bugprone-misplaced-operator-in-strlen-in-alloc + bugprone-misplaced-pointer-arithmetic-in-alloc + bugprone-misplaced-widening-cast + bugprone-move-forwarding-reference + bugprone-multi-level-implicit-pointer-conversion + bugprone-multiple-new-in-one-expression + bugprone-multiple-statement-macro + bugprone-narrowing-conversions + bugprone-no-escape + bugprone-non-zero-enum-to-bool-conversion + bugprone-nondeterministic-pointer-iteration-order + bugprone-not-null-terminated-result + bugprone-optional-value-conversion + bugprone-parent-virtual-call + bugprone-pointer-arithmetic-on-polymorphic-object + bugprone-posix-return + bugprone-redundant-branch-condition + bugprone-reserved-identifier + bugprone-return-const-ref-from-parameter + bugprone-shared-ptr-array-mismatch + bugprone-signal-handler + bugprone-signed-char-misuse + bugprone-sizeof-container + bugprone-sizeof-expression + bugprone-spuriously-wake-up-functions + bugprone-standalone-empty + bugprone-string-constructor + bugprone-string-integer-assignment + bugprone-string-literal-with-embedded-nul + bugprone-stringview-nullptr + bugprone-suspicious-enum-usage + bugprone-suspicious-include + bugprone-suspicious-memory-comparison + bugprone-suspicious-memset-usage + bugprone-suspicious-missing-comma + bugprone-suspicious-realloc-usage + bugprone-suspicious-semicolon + bugprone-suspicious-string-compare + bugprone-suspicious-stringview-data-usage + bugprone-swapped-arguments + bugprone-switch-missing-default-case + bugprone-tagged-union-member-count + bugprone-terminating-continue + bugprone-throw-keyword-missing + bugprone-too-small-loop-variable + bugprone-unchecked-optional-access + bugprone-undefined-memory-manipulation + bugprone-undelegated-constructor + bugprone-unhandled-exception-at-new + bugprone-unhandled-self-assignment + bugprone-unintended-char-ostream-output + bugprone-unique-ptr-array-mismatch + bugprone-unsafe-functions + bugprone-unused-local-non-trivial-variable + bugprone-unused-raii + bugprone-unused-return-value + bugprone-use-after-move + bugprone-virtual-near-miss + clang-analyzer-apiModeling.Errno + clang-analyzer-apiModeling.TrustNonnull + clang-analyzer-apiModeling.TrustReturnsNonnull + clang-analyzer-apiModeling.google.GTest + clang-analyzer-apiModeling.llvm.CastValue + clang-analyzer-apiModeling.llvm.ReturnValue + clang-analyzer-core.BitwiseShift + clang-analyzer-core.CallAndMessage + clang-analyzer-core.CallAndMessageModeling + clang-analyzer-core.DereferenceModeling + clang-analyzer-core.DivideZero + clang-analyzer-core.DynamicTypePropagation + clang-analyzer-core.FixedAddressDereference + clang-analyzer-core.NonNullParamChecker + clang-analyzer-core.NonnilStringConstants + clang-analyzer-core.NullDereference + clang-analyzer-core.StackAddrEscapeBase + clang-analyzer-core.StackAddressEscape + clang-analyzer-core.UndefinedBinaryOperatorResult + clang-analyzer-core.VLASize + clang-analyzer-core.builtin.AssumeModeling + clang-analyzer-core.builtin.BuiltinFunctions + clang-analyzer-core.builtin.NoReturnFunctions + clang-analyzer-core.uninitialized.ArraySubscript + clang-analyzer-core.uninitialized.Assign + clang-analyzer-core.uninitialized.Branch + clang-analyzer-core.uninitialized.CapturedBlockVariable + clang-analyzer-core.uninitialized.NewArraySize + clang-analyzer-core.uninitialized.UndefReturn + clang-analyzer-cplusplus.ArrayDelete + clang-analyzer-cplusplus.InnerPointer + clang-analyzer-cplusplus.Move + clang-analyzer-cplusplus.NewDelete + clang-analyzer-cplusplus.NewDeleteLeaks + clang-analyzer-cplusplus.PlacementNew + clang-analyzer-cplusplus.PureVirtualCall + clang-analyzer-cplusplus.SelfAssignment + clang-analyzer-cplusplus.SmartPtrModeling + clang-analyzer-cplusplus.StringChecker + clang-analyzer-deadcode.DeadStores + clang-analyzer-fuchsia.HandleChecker + clang-analyzer-nullability.NullPassedToNonnull + clang-analyzer-nullability.NullReturnedFromNonnull + clang-analyzer-nullability.NullableDereferenced + clang-analyzer-nullability.NullablePassedToNonnull + clang-analyzer-nullability.NullableReturnedFromNonnull + clang-analyzer-optin.core.EnumCastOutOfRange + clang-analyzer-optin.cplusplus.UninitializedObject + clang-analyzer-optin.cplusplus.VirtualCall + clang-analyzer-optin.mpi.MPI-Checker + clang-analyzer-optin.osx.OSObjectCStyleCast + clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker + clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker + clang-analyzer-optin.performance.GCDAntipattern + clang-analyzer-optin.performance.Padding + clang-analyzer-optin.portability.UnixAPI + clang-analyzer-optin.taint.GenericTaint + clang-analyzer-optin.taint.TaintPropagation + clang-analyzer-optin.taint.TaintedAlloc + clang-analyzer-optin.taint.TaintedDiv + clang-analyzer-osx.API + clang-analyzer-osx.MIG + clang-analyzer-osx.NSOrCFErrorDerefChecker + clang-analyzer-osx.NumberObjectConversion + clang-analyzer-osx.OSObjectRetainCount + clang-analyzer-osx.ObjCProperty + clang-analyzer-osx.SecKeychainAPI + clang-analyzer-osx.cocoa.AtSync + clang-analyzer-osx.cocoa.AutoreleaseWrite + clang-analyzer-osx.cocoa.ClassRelease + clang-analyzer-osx.cocoa.Dealloc + clang-analyzer-osx.cocoa.IncompatibleMethodTypes + clang-analyzer-osx.cocoa.Loops + clang-analyzer-osx.cocoa.MissingSuperCall + clang-analyzer-osx.cocoa.NSAutoreleasePool + clang-analyzer-osx.cocoa.NSError + clang-analyzer-osx.cocoa.NilArg + clang-analyzer-osx.cocoa.NonNilReturnValue + clang-analyzer-osx.cocoa.ObjCGenerics + clang-analyzer-osx.cocoa.RetainCount + clang-analyzer-osx.cocoa.RetainCountBase + clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak + clang-analyzer-osx.cocoa.SelfInit + clang-analyzer-osx.cocoa.SuperDealloc + clang-analyzer-osx.cocoa.UnusedIvars + clang-analyzer-osx.cocoa.VariadicMethodTypes + clang-analyzer-osx.coreFoundation.CFError + clang-analyzer-osx.coreFoundation.CFNumber + clang-analyzer-osx.coreFoundation.CFRetainRelease + clang-analyzer-osx.coreFoundation.containers.OutOfBounds + clang-analyzer-osx.coreFoundation.containers.PointerSizedValues + clang-analyzer-security.ArrayBound + clang-analyzer-security.FloatLoopCounter + clang-analyzer-security.MmapWriteExec + clang-analyzer-security.PointerSub + clang-analyzer-security.PutenvStackArray + clang-analyzer-security.SetgidSetuidOrder + clang-analyzer-security.cert.env.InvalidPtr + clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling + clang-analyzer-security.insecureAPI.SecuritySyntaxChecker + clang-analyzer-security.insecureAPI.UncheckedReturn + clang-analyzer-security.insecureAPI.bcmp + clang-analyzer-security.insecureAPI.bcopy + clang-analyzer-security.insecureAPI.bzero + clang-analyzer-security.insecureAPI.decodeValueOfObjCType + clang-analyzer-security.insecureAPI.getpw + clang-analyzer-security.insecureAPI.gets + clang-analyzer-security.insecureAPI.mkstemp + clang-analyzer-security.insecureAPI.mktemp + clang-analyzer-security.insecureAPI.rand + clang-analyzer-security.insecureAPI.strcpy + clang-analyzer-security.insecureAPI.vfork + clang-analyzer-unix.API + clang-analyzer-unix.BlockInCriticalSection + clang-analyzer-unix.Chroot + clang-analyzer-unix.DynamicMemoryModeling + clang-analyzer-unix.Errno + clang-analyzer-unix.Malloc + clang-analyzer-unix.MallocSizeof + clang-analyzer-unix.MismatchedDeallocator + clang-analyzer-unix.StdCLibraryFunctions + clang-analyzer-unix.Stream + clang-analyzer-unix.Vfork + clang-analyzer-unix.cstring.BadSizeArg + clang-analyzer-unix.cstring.CStringModeling + clang-analyzer-unix.cstring.NotNullTerminated + clang-analyzer-unix.cstring.NullArg + clang-analyzer-valist.CopyToSelf + clang-analyzer-valist.Uninitialized + clang-analyzer-valist.Unterminated + clang-analyzer-valist.ValistBase + clang-analyzer-webkit.NoUncountedMemberChecker + clang-analyzer-webkit.RefCntblBaseVirtualDtor + clang-analyzer-webkit.UncountedLambdaCapturesChecker + cppcoreguidelines-avoid-c-arrays + cppcoreguidelines-avoid-capturing-lambda-coroutines + cppcoreguidelines-avoid-const-or-ref-data-members + cppcoreguidelines-avoid-goto + cppcoreguidelines-avoid-magic-numbers + cppcoreguidelines-avoid-non-const-global-variables + cppcoreguidelines-avoid-reference-coroutine-parameters + cppcoreguidelines-c-copy-assignment-signature + cppcoreguidelines-explicit-virtual-functions + cppcoreguidelines-init-variables + cppcoreguidelines-interfaces-global-init + cppcoreguidelines-macro-to-enum + cppcoreguidelines-misleading-capture-default-by-value + cppcoreguidelines-missing-std-forward + cppcoreguidelines-narrowing-conversions + cppcoreguidelines-no-malloc + cppcoreguidelines-no-suspend-with-lock + cppcoreguidelines-noexcept-destructor + cppcoreguidelines-noexcept-move-operations + cppcoreguidelines-noexcept-swap + cppcoreguidelines-non-private-member-variables-in-classes + cppcoreguidelines-owning-memory + cppcoreguidelines-prefer-member-initializer + cppcoreguidelines-pro-bounds-array-to-pointer-decay + cppcoreguidelines-pro-bounds-constant-array-index + cppcoreguidelines-pro-bounds-pointer-arithmetic + cppcoreguidelines-pro-type-const-cast + cppcoreguidelines-pro-type-cstyle-cast + cppcoreguidelines-pro-type-member-init + cppcoreguidelines-pro-type-reinterpret-cast + cppcoreguidelines-pro-type-static-cast-downcast + cppcoreguidelines-pro-type-union-access + cppcoreguidelines-pro-type-vararg + cppcoreguidelines-rvalue-reference-param-not-moved + cppcoreguidelines-slicing + cppcoreguidelines-special-member-functions + cppcoreguidelines-use-default-member-init + cppcoreguidelines-use-enum-class + cppcoreguidelines-virtual-class-destructor + modernize-avoid-bind + modernize-avoid-c-arrays + modernize-concat-nested-namespaces + modernize-deprecated-headers + modernize-deprecated-ios-base-aliases + modernize-loop-convert + modernize-macro-to-enum + modernize-make-shared + modernize-make-unique + modernize-min-max-use-initializer-list + modernize-pass-by-value + modernize-raw-string-literal + modernize-redundant-void-arg + modernize-replace-auto-ptr + modernize-replace-disallow-copy-and-assign-macro + modernize-replace-random-shuffle + modernize-return-braced-init-list + modernize-shrink-to-fit + modernize-type-traits + modernize-unary-static-assert + modernize-use-auto + modernize-use-bool-literals + modernize-use-constraints + modernize-use-default-member-init + modernize-use-designated-initializers + modernize-use-emplace + modernize-use-equals-default + modernize-use-equals-delete + modernize-use-integer-sign-comparison + modernize-use-nodiscard + modernize-use-noexcept + modernize-use-nullptr + modernize-use-override + modernize-use-ranges + modernize-use-scoped-lock + modernize-use-starts-ends-with + modernize-use-std-format + modernize-use-std-numbers + modernize-use-std-print + modernize-use-transparent-functors + modernize-use-uncaught-exceptions + modernize-use-using + performance-avoid-endl + performance-enum-size + performance-faster-string-find + performance-for-range-copy + performance-implicit-conversion-in-loop + performance-inefficient-algorithm + performance-inefficient-string-concatenation + performance-inefficient-vector-operation + performance-move-const-arg + performance-move-constructor-init + performance-no-automatic-move + performance-no-int-to-ptr + performance-noexcept-destructor + performance-noexcept-move-constructor + performance-noexcept-swap + performance-trivially-destructible + performance-type-promotion-in-math-fn + performance-unnecessary-copy-initialization + performance-unnecessary-value-param + portability-avoid-pragma-once + portability-restrict-system-includes + portability-simd-intrinsics + portability-std-allocator-const + portability-template-virtual-member-function + readability-ambiguous-smartptr-reset-call + readability-avoid-nested-conditional-operator + readability-avoid-return-with-void-value + readability-avoid-unconditional-preprocessor-if + readability-braces-around-statements + readability-const-return-type + readability-container-contains + readability-container-data-pointer + readability-container-size-empty + readability-convert-member-functions-to-static + readability-delete-null-pointer + readability-duplicate-include + readability-else-after-return + readability-enum-initial-value + readability-function-cognitive-complexity + readability-function-size + readability-identifier-length + readability-identifier-naming + readability-implicit-bool-conversion + readability-inconsistent-declaration-parameter-name + readability-isolate-declaration + readability-magic-numbers + readability-make-member-function-const + readability-math-missing-parentheses + readability-misleading-indentation + readability-misplaced-array-index + readability-named-parameter + readability-non-const-parameter + readability-operators-representation + readability-qualified-auto + readability-redundant-access-specifiers + readability-redundant-casting + readability-redundant-control-flow + readability-redundant-declaration + readability-redundant-function-ptr-dereference + readability-redundant-inline-specifier + readability-redundant-member-init + readability-redundant-preprocessor + readability-redundant-smartptr-get + readability-redundant-string-cstr + readability-redundant-string-init + readability-reference-to-constructed-temporary + readability-simplify-boolean-expr + readability-simplify-subscript-expr + readability-static-accessed-through-instance + readability-static-definition-in-anonymous-namespace + readability-string-compare + readability-suspicious-call-argument + readability-uniqueptr-delete-release + readability-uppercase-literal-suffix + readability-use-anyofallof + readability-use-concise-preprocessor-directives + readability-use-std-min-max + +Running clang-tidy for 18 files out of 18 in compilation database ... +[ 1/18][3.8s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:9:2: warning: preprocessor condition can be written more concisely using '#ifdef' [readability-use-concise-preprocessor-directives] + 9 | #if defined BIGFOOT_WINDOWS + | ^~ ~~~~~~~~~~~~~~~~~~~~~~~ + | ifdef BIGFOOT_WINDOWS +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:36:2: warning: preprocessor condition can be written more concisely using '#ifdef' [readability-use-concise-preprocessor-directives] + 36 | #if defined(__cplusplus) + | ^~ ~~~~~~~~~~~~~~~~~~~~ + | ifdef __cplusplus +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:49:30: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 49 | void operator delete(void* p) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); }; + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:50:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 50 | void operator delete[](void* p) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); }; + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:52:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 52 | void operator delete (void* p, const std::nothrow_t&) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:52:56: warning: all parameters should be named in a function [readability-named-parameter] + 52 | void operator delete (void* p, const std::nothrow_t&) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ + | /*unused*/ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:53:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 53 | void operator delete[](void* p, const std::nothrow_t&) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:53:56: warning: all parameters should be named in a function [readability-named-parameter] + 53 | void operator delete[](void* p, const std::nothrow_t&) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ + | /*unused*/ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:55:76: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 55 | mi_decl_new(n) void* operator new(std::size_t n) noexcept(false) { void* p = mi_new(n); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:56:78: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 56 | mi_decl_new(n) void* operator new[](std::size_t n) noexcept(false) { void* p = mi_new(n); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:58:119: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 58 | mi_decl_new_nothrow(n) void* operator new (std::size_t n, const std::nothrow_t& tag) noexcept { (void)(tag); void* p = mi_new_nothrow(n); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:59:119: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 59 | mi_decl_new_nothrow(n) void* operator new[](std::size_t n, const std::nothrow_t& tag) noexcept { (void)(tag); void* p = mi_new_nothrow(n); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:62:55: warning: 2 adjacent parameters of 'operator new[]' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters] + 62 | void* operator new[](size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new(size); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:62:59: note: the first parameter in the range is 'flags' + 62 | void* operator new[](size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new(size); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^~~~~ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:62:75: note: the last parameter in the range is 'debugFlags' + 62 | void* operator new[](size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new(size); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^~~~~~~~~~ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:62:66: note: 'int' and 'unsigned int' may be implicitly converted + 62 | void* operator new[](size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new(size); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:62:139: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 62 | void* operator new[](size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new(size); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:65:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 65 | void operator delete (void* p, std::size_t n) noexcept { mi_free_size(p,n); BIGFOOT_PROFILER_MEMORY_FREE(p); }; + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:66:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 66 | void operator delete[](void* p, std::size_t n) noexcept { mi_free_size(p,n); BIGFOOT_PROFILER_MEMORY_FREE(p); }; + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:70:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 70 | void operator delete (void* p, std::align_val_t al) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:70:52: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] + 70 | void operator delete (void* p, std::align_val_t al) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:71:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 71 | void operator delete[](void* p, std::align_val_t al) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:71:52: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] + 71 | void operator delete[](void* p, std::align_val_t al) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:72:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 72 | void operator delete (void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); }; + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:72:67: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] + 72 | void operator delete (void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); }; + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:73:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 73 | void operator delete[](void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); }; + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:73:67: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] + 73 | void operator delete[](void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); }; + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:74:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 74 | void operator delete (void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:74:52: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] + 74 | void operator delete (void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:74:77: warning: all parameters should be named in a function [readability-named-parameter] + 74 | void operator delete (void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ + | /*unused*/ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:75:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 75 | void operator delete[](void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:75:52: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] + 75 | void operator delete[](void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:75:77: warning: all parameters should be named in a function [readability-named-parameter] + 75 | void operator delete[](void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } + | ^ + | /*unused*/ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:77:56: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] + 77 | void* operator new (std::size_t n, std::align_val_t al) noexcept(false) { void* p = mi_new_aligned(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:77:84: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 77 | void* operator new (std::size_t n, std::align_val_t al) noexcept(false) { void* p = mi_new_aligned(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:78:56: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] + 78 | void* operator new[](std::size_t n, std::align_val_t al) noexcept(false) { void* p = mi_new_aligned(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:78:84: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 78 | void* operator new[](std::size_t n, std::align_val_t al) noexcept(false) { void* p = mi_new_aligned(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:79:56: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] + 79 | void* operator new (std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:79:81: warning: all parameters should be named in a function [readability-named-parameter] + 79 | void* operator new (std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ + | /*unused*/ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:79:100: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 79 | void* operator new (std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:80:56: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] + 80 | void* operator new[](std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:80:81: warning: all parameters should be named in a function [readability-named-parameter] + 80 | void* operator new[](std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ + | /*unused*/ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:80:100: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 80 | void* operator new[](std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:37: warning: 2 adjacent parameters of 'operator new[]' of similar type ('size_t') are easily swapped by mistake [bugprone-easily-swappable-parameters] + 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:44: note: the first parameter in the range is 'alignment' + 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^~~~~~~~~ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:62: note: the last parameter in the range is 'alignmentOffset' + 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^~~~~~~~~~~~~~~ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:98: warning: 2 adjacent parameters of 'operator new[]' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters] + 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:102: note: the first parameter in the range is 'flags' + 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^~~~~ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:118: note: the last parameter in the range is 'debugFlags' + 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^~~~~~~~~~ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:109: note: 'int' and 'unsigned int' may be implicitly converted + 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:182: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] + 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:90:2: warning: preprocessor condition can be written more concisely using '#ifdef' [readability-use-concise-preprocessor-directives] + 90 | #if defined BIGFOOT_WINDOWS + | ^~ ~~~~~~~~~~~~~~~~~~~~~~~ + | ifdef BIGFOOT_WINDOWS +23560 warnings generated. +Suppressed 23516 warnings (23516 in non-user code). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[ 2/18][7.0s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Utils/TargetMacros.cpp +44000 warnings generated. +Suppressed 44035 warnings (44000 in non-user code, 35 NOLINT). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[ 3/18][10.5s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/System/File.cpp +54723 warnings generated. +Suppressed 54758 warnings (54723 in non-user code, 35 NOLINT). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[ 4/18][10.1s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/System/Time.cpp +49576 warnings generated. +Suppressed 49611 warnings (49576 in non-user code, 35 NOLINT). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[ 5/18][6.0s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/File.cpp +/workspaces/Bigfoot/Bigfoot/Sources/System/File.cpp:61:12: warning: pass by value and use std::move [modernize-pass-by-value] + 8 | File::File(const std::filesystem::path& p_path): + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | std::filesystem::path + 9 | m_path(p_path), + | + | std::move( ) +/workspaces/Bigfoot/Bigfoot/Sources/System/File.cpp:63:18: warning: redundant call to 'c_str' [readability-redundant-string-cstr] + 63 | m_pathString(m_path.string().c_str()) + | ^~~~~~~~~~~~~~~~~~~~~~~ + | m_path.string() +35697 warnings generated. +Suppressed 35695 warnings (35695 in non-user code). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[ 6/18][20.5s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/System/UUID/UUID.cpp +/workspaces/Bigfoot/Bigfoot/Tests/System/UUID/UUID.cpp:22:27: warning: 16 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] + 22 | std::array m_raw { + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/System/UUID/UUID.cpp:164:43: warning: 5'000'000 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] + 164 | for (std::uint32_t index = 0; index < 5'000'000; ++index) + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/System/UUID/UUID.cpp:174:54: warning: variable name 'd' is too short, expected at least 3 characters [readability-identifier-length] + 174 | std::span d = m_d; + | ^ +60055 warnings generated. +Suppressed 60094 warnings (60050 in non-user code, 44 NOLINT). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[ 7/18][14.2s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp:14:7: warning: class 'SingletonMock' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions] + 14 | class SingletonMock + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp:22:7: warning: class 'SingletonTest' defines a non-default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions] + 22 | class SingletonTest + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp:66:40: warning: member variable 'm_mock' has protected visibility [cppcoreguidelines-non-private-member-variables-in-classes] + 66 | std::unique_ptr m_mock; + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp:90:51: warning: 42 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] + 90 | Singleton::Lifetime singleton {42}; + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp:97:51: warning: 42 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] + 97 | Singleton::Lifetime singleton {42}; + | ^ +55211 warnings generated. +Suppressed 55285 warnings (55204 in non-user code, 81 NOLINT). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[ 8/18][4.9s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/Utils/Version.cpp +30028 warnings generated. +Suppressed 30028 warnings (30028 in non-user code). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[ 9/18][0.1s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Engine/touch.cpp +[10/18][21.2s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Utils/Version.cpp +52154 warnings generated. +Suppressed 52189 warnings (52154 in non-user code, 35 NOLINT). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[11/18][10.6s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/UUID/FlatUUID.cpp +/workspaces/Bigfoot/Bigfoot/Sources/System/UUID/FlatUUID.cpp:15:69: warning: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast] + 15 | std::span {reinterpret_cast(bytes.data()), + | ^ +63427 warnings generated. +Suppressed 63426 warnings (63426 in non-user code). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[12/18][10.1s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/UUID/UUID.cpp +/workspaces/Bigfoot/Bigfoot/Sources/System/UUID/UUID.cpp:36:7: warning: do not use const_cast to remove const qualifier [cppcoreguidelines-pro-type-const-cast] + 36 | const_cast(std::bit_cast(p_raw.data())), + | ^ +/workspaces/Bigfoot/Bigfoot/Sources/System/UUID/UUID.cpp:36:33: warning: do not use 'std::bit_cast' to cast between pointers [bugprone-bitwise-pointer-cast] + 36 | const_cast(std::bit_cast(p_raw.data())), + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/workspaces/Bigfoot/Bigfoot/Sources/System/UUID/UUID.cpp:76:5: warning: use a ranges version of this algorithm [modernize-use-ranges] + 8 | std::generate(seed.begin(), seed.end(), std::reference_wrapper {randomDevice}); + | ^~~~~~~~~~~~~ ~~~~~~~~~~~~ ~~~~~~~~~~ + | std::ranges::generate seed +53173 warnings generated. +Suppressed 53170 warnings (53170 in non-user code). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[13/18][6.6s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Utils/Concat.cpp +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Concat.cpp:22:25: warning: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage] + 22 | EXPECT_STREQ(result.data(), "ab"); + | ^ +/workspaces/Bigfoot/build/build/Debug/generators/../../../full_deploy/host/gtest/1.17.0/Debug/x86_64/include/gtest/gtest.h:1954:60: note: expanded from macro 'EXPECT_STREQ' + 1954 | EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2) + | ^~ +/workspaces/Bigfoot/build/build/Debug/generators/../../../full_deploy/host/gtest/1.17.0/Debug/x86_64/include/gtest/gtest_pred_impl.h:144:36: note: expanded from macro 'EXPECT_PRED_FORMAT2' + 144 | GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_NONFATAL_FAILURE_) + | ^~ +/workspaces/Bigfoot/build/build/Debug/generators/../../../full_deploy/host/gtest/1.17.0/Debug/x86_64/include/gtest/gtest_pred_impl.h:134:39: note: expanded from macro 'GTEST_PRED_FORMAT2_' + 134 | GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), on_failure) + | ^~ +/workspaces/Bigfoot/build/build/Debug/generators/../../../full_deploy/host/gtest/1.17.0/Debug/x86_64/include/gtest/gtest_pred_impl.h:79:52: note: expanded from macro 'GTEST_ASSERT_' + 79 | if (const ::testing::AssertionResult gtest_ar = (expression)) \ + | ^~~~~~~~~~ +44000 warnings generated. +Suppressed 44034 warnings (43999 in non-user code, 35 NOLINT). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[14/18][9.7s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:13:7: warning: class 'Parent' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions] + 13 | class Parent + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:23:5: warning: function 'GetParentValue' should be marked [[nodiscard]] [modernize-use-nodiscard] + 23 | std::uint32_t GetParentValue() const + | ^ + | [[nodiscard]] +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:28:5: warning: function 'GetChildValue' should be marked [[nodiscard]] [modernize-use-nodiscard] + 28 | virtual std::uint32_t GetChildValue() const = 0; + | ^ + | [[nodiscard]] +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:36:7: warning: class 'ChildA' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions] + 36 | class ChildA final: public Parent + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:40:16: warning: 28 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] + 40 | Parent(28), + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:47:5: warning: function 'GetChildValue' should be marked [[nodiscard]] [modernize-use-nodiscard] + 47 | std::uint32_t GetChildValue() const override + | ^ + | [[nodiscard]] +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:58:7: warning: class 'ChildB' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions] + 58 | class ChildB final: public Parent + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:62:16: warning: 34 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] + 62 | Parent(34), + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:69:5: warning: function 'GetChildValue' should be marked [[nodiscard]] [modernize-use-nodiscard] + 69 | std::uint32_t GetChildValue() const override + | ^ + | [[nodiscard]] +49157 warnings generated. +Suppressed 49181 warnings (49146 in non-user code, 35 NOLINT). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[15/18][0.1s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/Engine/touch.cpp +[16/18][9.4s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/Time.cpp +/workspaces/Bigfoot/Bigfoot/Sources/System/Time.cpp:59:33: warning: 1900 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] + 59 | return m_timeInfo.tm_year + 1900; + | ^ +69970 warnings generated. +Suppressed 69968 warnings (69968 in non-user code). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[17/18][20.4s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/Log/Log.cpp +/workspaces/Bigfoot/Bigfoot/Sources/System/Log/Log.cpp:9:2: warning: preprocessor condition can be written more concisely using '#ifdef' [readability-use-concise-preprocessor-directives] + 9 | #if defined BIGFOOT_NOT_OPTIMIZED + | ^~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | ifdef BIGFOOT_NOT_OPTIMIZED +/workspaces/Bigfoot/Bigfoot/Sources/System/Log/Log.cpp:36:21: warning: method 'GetLogger' can be made static [readability-convert-member-functions-to-static] + 36 | quill::Logger* Log::GetLogger(const LoggerInfo& p_loggerInfo) + | ^ +69764 warnings generated. +Suppressed 69762 warnings (69762 in non-user code). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + +[18/18][21.6s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/System/Log/Log.cpp +/workspaces/Bigfoot/Bigfoot/Tests/System/Log/Log.cpp:13:2: warning: preprocessor condition can be written more concisely using '#ifdef' [readability-use-concise-preprocessor-directives] + 13 | #if defined BIGFOOT_NOT_OPTIMIZED + | ^~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | ifdef BIGFOOT_NOT_OPTIMIZED +/workspaces/Bigfoot/Bigfoot/Tests/System/Log/Log.cpp:24:30: warning: use designated initializer list to initialize 'LoggerInfo' [modernize-use-designated-initializers] + 24 | SYSTEMTESTS_LOGGER = {"UTILSTESTS_LOGGER", Flat::LogLevel::Trace}; + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + | .m_name= .m_level= +/workspaces/Bigfoot/Bigfoot/Sources/System/Include/System/Log/Log.hpp:35:5: note: aggregate type is defined here + 35 | struct LoggerInfo + | ^ +/workspaces/Bigfoot/Bigfoot/Tests/System/Log/Log.cpp:50:9: warning: member variable 'm_log' has protected visibility [cppcoreguidelines-non-private-member-variables-in-classes] + 50 | Log m_log; + | ^ +72869 warnings generated. +Suppressed 72901 warnings (72866 in non-user code, 35 NOLINT). +Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. + -- 2.49.1 From c2a82cc76ffd63a1a0162f1ea01326b9d0f8c54f Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Fri, 30 Jan 2026 16:21:25 +0100 Subject: [PATCH 06/12] remove tidy_result --- tidy_result | 751 ---------------------------------------------------- 1 file changed, 751 deletions(-) delete mode 100644 tidy_result diff --git a/tidy_result b/tidy_result deleted file mode 100644 index 3c0159d..0000000 --- a/tidy_result +++ /dev/null @@ -1,751 +0,0 @@ -Enabled checks: - bugprone-argument-comment - bugprone-assert-side-effect - bugprone-assignment-in-if-condition - bugprone-bad-signal-to-kill-thread - bugprone-bitwise-pointer-cast - bugprone-bool-pointer-implicit-conversion - bugprone-branch-clone - bugprone-capturing-this-in-member-variable - bugprone-casting-through-void - bugprone-chained-comparison - bugprone-compare-pointer-to-member-virtual-function - bugprone-copy-constructor-init - bugprone-crtp-constructor-accessibility - bugprone-dangling-handle - bugprone-dynamic-static-initializers - bugprone-easily-swappable-parameters - bugprone-empty-catch - bugprone-exception-escape - bugprone-fold-init-type - bugprone-forward-declaration-namespace - bugprone-forwarding-reference-overload - bugprone-implicit-widening-of-multiplication-result - bugprone-inaccurate-erase - bugprone-inc-dec-in-conditions - bugprone-incorrect-enable-if - bugprone-incorrect-enable-shared-from-this - bugprone-incorrect-roundings - bugprone-infinite-loop - bugprone-integer-division - bugprone-lambda-function-name - bugprone-macro-parentheses - bugprone-macro-repeated-side-effects - bugprone-misleading-setter-of-reference - bugprone-misplaced-operator-in-strlen-in-alloc - bugprone-misplaced-pointer-arithmetic-in-alloc - bugprone-misplaced-widening-cast - bugprone-move-forwarding-reference - bugprone-multi-level-implicit-pointer-conversion - bugprone-multiple-new-in-one-expression - bugprone-multiple-statement-macro - bugprone-narrowing-conversions - bugprone-no-escape - bugprone-non-zero-enum-to-bool-conversion - bugprone-nondeterministic-pointer-iteration-order - bugprone-not-null-terminated-result - bugprone-optional-value-conversion - bugprone-parent-virtual-call - bugprone-pointer-arithmetic-on-polymorphic-object - bugprone-posix-return - bugprone-redundant-branch-condition - bugprone-reserved-identifier - bugprone-return-const-ref-from-parameter - bugprone-shared-ptr-array-mismatch - bugprone-signal-handler - bugprone-signed-char-misuse - bugprone-sizeof-container - bugprone-sizeof-expression - bugprone-spuriously-wake-up-functions - bugprone-standalone-empty - bugprone-string-constructor - bugprone-string-integer-assignment - bugprone-string-literal-with-embedded-nul - bugprone-stringview-nullptr - bugprone-suspicious-enum-usage - bugprone-suspicious-include - bugprone-suspicious-memory-comparison - bugprone-suspicious-memset-usage - bugprone-suspicious-missing-comma - bugprone-suspicious-realloc-usage - bugprone-suspicious-semicolon - bugprone-suspicious-string-compare - bugprone-suspicious-stringview-data-usage - bugprone-swapped-arguments - bugprone-switch-missing-default-case - bugprone-tagged-union-member-count - bugprone-terminating-continue - bugprone-throw-keyword-missing - bugprone-too-small-loop-variable - bugprone-unchecked-optional-access - bugprone-undefined-memory-manipulation - bugprone-undelegated-constructor - bugprone-unhandled-exception-at-new - bugprone-unhandled-self-assignment - bugprone-unintended-char-ostream-output - bugprone-unique-ptr-array-mismatch - bugprone-unsafe-functions - bugprone-unused-local-non-trivial-variable - bugprone-unused-raii - bugprone-unused-return-value - bugprone-use-after-move - bugprone-virtual-near-miss - clang-analyzer-apiModeling.Errno - clang-analyzer-apiModeling.TrustNonnull - clang-analyzer-apiModeling.TrustReturnsNonnull - clang-analyzer-apiModeling.google.GTest - clang-analyzer-apiModeling.llvm.CastValue - clang-analyzer-apiModeling.llvm.ReturnValue - clang-analyzer-core.BitwiseShift - clang-analyzer-core.CallAndMessage - clang-analyzer-core.CallAndMessageModeling - clang-analyzer-core.DereferenceModeling - clang-analyzer-core.DivideZero - clang-analyzer-core.DynamicTypePropagation - clang-analyzer-core.FixedAddressDereference - clang-analyzer-core.NonNullParamChecker - clang-analyzer-core.NonnilStringConstants - clang-analyzer-core.NullDereference - clang-analyzer-core.StackAddrEscapeBase - clang-analyzer-core.StackAddressEscape - clang-analyzer-core.UndefinedBinaryOperatorResult - clang-analyzer-core.VLASize - clang-analyzer-core.builtin.AssumeModeling - clang-analyzer-core.builtin.BuiltinFunctions - clang-analyzer-core.builtin.NoReturnFunctions - clang-analyzer-core.uninitialized.ArraySubscript - clang-analyzer-core.uninitialized.Assign - clang-analyzer-core.uninitialized.Branch - clang-analyzer-core.uninitialized.CapturedBlockVariable - clang-analyzer-core.uninitialized.NewArraySize - clang-analyzer-core.uninitialized.UndefReturn - clang-analyzer-cplusplus.ArrayDelete - clang-analyzer-cplusplus.InnerPointer - clang-analyzer-cplusplus.Move - clang-analyzer-cplusplus.NewDelete - clang-analyzer-cplusplus.NewDeleteLeaks - clang-analyzer-cplusplus.PlacementNew - clang-analyzer-cplusplus.PureVirtualCall - clang-analyzer-cplusplus.SelfAssignment - clang-analyzer-cplusplus.SmartPtrModeling - clang-analyzer-cplusplus.StringChecker - clang-analyzer-deadcode.DeadStores - clang-analyzer-fuchsia.HandleChecker - clang-analyzer-nullability.NullPassedToNonnull - clang-analyzer-nullability.NullReturnedFromNonnull - clang-analyzer-nullability.NullableDereferenced - clang-analyzer-nullability.NullablePassedToNonnull - clang-analyzer-nullability.NullableReturnedFromNonnull - clang-analyzer-optin.core.EnumCastOutOfRange - clang-analyzer-optin.cplusplus.UninitializedObject - clang-analyzer-optin.cplusplus.VirtualCall - clang-analyzer-optin.mpi.MPI-Checker - clang-analyzer-optin.osx.OSObjectCStyleCast - clang-analyzer-optin.osx.cocoa.localizability.EmptyLocalizationContextChecker - clang-analyzer-optin.osx.cocoa.localizability.NonLocalizedStringChecker - clang-analyzer-optin.performance.GCDAntipattern - clang-analyzer-optin.performance.Padding - clang-analyzer-optin.portability.UnixAPI - clang-analyzer-optin.taint.GenericTaint - clang-analyzer-optin.taint.TaintPropagation - clang-analyzer-optin.taint.TaintedAlloc - clang-analyzer-optin.taint.TaintedDiv - clang-analyzer-osx.API - clang-analyzer-osx.MIG - clang-analyzer-osx.NSOrCFErrorDerefChecker - clang-analyzer-osx.NumberObjectConversion - clang-analyzer-osx.OSObjectRetainCount - clang-analyzer-osx.ObjCProperty - clang-analyzer-osx.SecKeychainAPI - clang-analyzer-osx.cocoa.AtSync - clang-analyzer-osx.cocoa.AutoreleaseWrite - clang-analyzer-osx.cocoa.ClassRelease - clang-analyzer-osx.cocoa.Dealloc - clang-analyzer-osx.cocoa.IncompatibleMethodTypes - clang-analyzer-osx.cocoa.Loops - clang-analyzer-osx.cocoa.MissingSuperCall - clang-analyzer-osx.cocoa.NSAutoreleasePool - clang-analyzer-osx.cocoa.NSError - clang-analyzer-osx.cocoa.NilArg - clang-analyzer-osx.cocoa.NonNilReturnValue - clang-analyzer-osx.cocoa.ObjCGenerics - clang-analyzer-osx.cocoa.RetainCount - clang-analyzer-osx.cocoa.RetainCountBase - clang-analyzer-osx.cocoa.RunLoopAutoreleaseLeak - clang-analyzer-osx.cocoa.SelfInit - clang-analyzer-osx.cocoa.SuperDealloc - clang-analyzer-osx.cocoa.UnusedIvars - clang-analyzer-osx.cocoa.VariadicMethodTypes - clang-analyzer-osx.coreFoundation.CFError - clang-analyzer-osx.coreFoundation.CFNumber - clang-analyzer-osx.coreFoundation.CFRetainRelease - clang-analyzer-osx.coreFoundation.containers.OutOfBounds - clang-analyzer-osx.coreFoundation.containers.PointerSizedValues - clang-analyzer-security.ArrayBound - clang-analyzer-security.FloatLoopCounter - clang-analyzer-security.MmapWriteExec - clang-analyzer-security.PointerSub - clang-analyzer-security.PutenvStackArray - clang-analyzer-security.SetgidSetuidOrder - clang-analyzer-security.cert.env.InvalidPtr - clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling - clang-analyzer-security.insecureAPI.SecuritySyntaxChecker - clang-analyzer-security.insecureAPI.UncheckedReturn - clang-analyzer-security.insecureAPI.bcmp - clang-analyzer-security.insecureAPI.bcopy - clang-analyzer-security.insecureAPI.bzero - clang-analyzer-security.insecureAPI.decodeValueOfObjCType - clang-analyzer-security.insecureAPI.getpw - clang-analyzer-security.insecureAPI.gets - clang-analyzer-security.insecureAPI.mkstemp - clang-analyzer-security.insecureAPI.mktemp - clang-analyzer-security.insecureAPI.rand - clang-analyzer-security.insecureAPI.strcpy - clang-analyzer-security.insecureAPI.vfork - clang-analyzer-unix.API - clang-analyzer-unix.BlockInCriticalSection - clang-analyzer-unix.Chroot - clang-analyzer-unix.DynamicMemoryModeling - clang-analyzer-unix.Errno - clang-analyzer-unix.Malloc - clang-analyzer-unix.MallocSizeof - clang-analyzer-unix.MismatchedDeallocator - clang-analyzer-unix.StdCLibraryFunctions - clang-analyzer-unix.Stream - clang-analyzer-unix.Vfork - clang-analyzer-unix.cstring.BadSizeArg - clang-analyzer-unix.cstring.CStringModeling - clang-analyzer-unix.cstring.NotNullTerminated - clang-analyzer-unix.cstring.NullArg - clang-analyzer-valist.CopyToSelf - clang-analyzer-valist.Uninitialized - clang-analyzer-valist.Unterminated - clang-analyzer-valist.ValistBase - clang-analyzer-webkit.NoUncountedMemberChecker - clang-analyzer-webkit.RefCntblBaseVirtualDtor - clang-analyzer-webkit.UncountedLambdaCapturesChecker - cppcoreguidelines-avoid-c-arrays - cppcoreguidelines-avoid-capturing-lambda-coroutines - cppcoreguidelines-avoid-const-or-ref-data-members - cppcoreguidelines-avoid-goto - cppcoreguidelines-avoid-magic-numbers - cppcoreguidelines-avoid-non-const-global-variables - cppcoreguidelines-avoid-reference-coroutine-parameters - cppcoreguidelines-c-copy-assignment-signature - cppcoreguidelines-explicit-virtual-functions - cppcoreguidelines-init-variables - cppcoreguidelines-interfaces-global-init - cppcoreguidelines-macro-to-enum - cppcoreguidelines-misleading-capture-default-by-value - cppcoreguidelines-missing-std-forward - cppcoreguidelines-narrowing-conversions - cppcoreguidelines-no-malloc - cppcoreguidelines-no-suspend-with-lock - cppcoreguidelines-noexcept-destructor - cppcoreguidelines-noexcept-move-operations - cppcoreguidelines-noexcept-swap - cppcoreguidelines-non-private-member-variables-in-classes - cppcoreguidelines-owning-memory - cppcoreguidelines-prefer-member-initializer - cppcoreguidelines-pro-bounds-array-to-pointer-decay - cppcoreguidelines-pro-bounds-constant-array-index - cppcoreguidelines-pro-bounds-pointer-arithmetic - cppcoreguidelines-pro-type-const-cast - cppcoreguidelines-pro-type-cstyle-cast - cppcoreguidelines-pro-type-member-init - cppcoreguidelines-pro-type-reinterpret-cast - cppcoreguidelines-pro-type-static-cast-downcast - cppcoreguidelines-pro-type-union-access - cppcoreguidelines-pro-type-vararg - cppcoreguidelines-rvalue-reference-param-not-moved - cppcoreguidelines-slicing - cppcoreguidelines-special-member-functions - cppcoreguidelines-use-default-member-init - cppcoreguidelines-use-enum-class - cppcoreguidelines-virtual-class-destructor - modernize-avoid-bind - modernize-avoid-c-arrays - modernize-concat-nested-namespaces - modernize-deprecated-headers - modernize-deprecated-ios-base-aliases - modernize-loop-convert - modernize-macro-to-enum - modernize-make-shared - modernize-make-unique - modernize-min-max-use-initializer-list - modernize-pass-by-value - modernize-raw-string-literal - modernize-redundant-void-arg - modernize-replace-auto-ptr - modernize-replace-disallow-copy-and-assign-macro - modernize-replace-random-shuffle - modernize-return-braced-init-list - modernize-shrink-to-fit - modernize-type-traits - modernize-unary-static-assert - modernize-use-auto - modernize-use-bool-literals - modernize-use-constraints - modernize-use-default-member-init - modernize-use-designated-initializers - modernize-use-emplace - modernize-use-equals-default - modernize-use-equals-delete - modernize-use-integer-sign-comparison - modernize-use-nodiscard - modernize-use-noexcept - modernize-use-nullptr - modernize-use-override - modernize-use-ranges - modernize-use-scoped-lock - modernize-use-starts-ends-with - modernize-use-std-format - modernize-use-std-numbers - modernize-use-std-print - modernize-use-transparent-functors - modernize-use-uncaught-exceptions - modernize-use-using - performance-avoid-endl - performance-enum-size - performance-faster-string-find - performance-for-range-copy - performance-implicit-conversion-in-loop - performance-inefficient-algorithm - performance-inefficient-string-concatenation - performance-inefficient-vector-operation - performance-move-const-arg - performance-move-constructor-init - performance-no-automatic-move - performance-no-int-to-ptr - performance-noexcept-destructor - performance-noexcept-move-constructor - performance-noexcept-swap - performance-trivially-destructible - performance-type-promotion-in-math-fn - performance-unnecessary-copy-initialization - performance-unnecessary-value-param - portability-avoid-pragma-once - portability-restrict-system-includes - portability-simd-intrinsics - portability-std-allocator-const - portability-template-virtual-member-function - readability-ambiguous-smartptr-reset-call - readability-avoid-nested-conditional-operator - readability-avoid-return-with-void-value - readability-avoid-unconditional-preprocessor-if - readability-braces-around-statements - readability-const-return-type - readability-container-contains - readability-container-data-pointer - readability-container-size-empty - readability-convert-member-functions-to-static - readability-delete-null-pointer - readability-duplicate-include - readability-else-after-return - readability-enum-initial-value - readability-function-cognitive-complexity - readability-function-size - readability-identifier-length - readability-identifier-naming - readability-implicit-bool-conversion - readability-inconsistent-declaration-parameter-name - readability-isolate-declaration - readability-magic-numbers - readability-make-member-function-const - readability-math-missing-parentheses - readability-misleading-indentation - readability-misplaced-array-index - readability-named-parameter - readability-non-const-parameter - readability-operators-representation - readability-qualified-auto - readability-redundant-access-specifiers - readability-redundant-casting - readability-redundant-control-flow - readability-redundant-declaration - readability-redundant-function-ptr-dereference - readability-redundant-inline-specifier - readability-redundant-member-init - readability-redundant-preprocessor - readability-redundant-smartptr-get - readability-redundant-string-cstr - readability-redundant-string-init - readability-reference-to-constructed-temporary - readability-simplify-boolean-expr - readability-simplify-subscript-expr - readability-static-accessed-through-instance - readability-static-definition-in-anonymous-namespace - readability-string-compare - readability-suspicious-call-argument - readability-uniqueptr-delete-release - readability-uppercase-literal-suffix - readability-use-anyofallof - readability-use-concise-preprocessor-directives - readability-use-std-min-max - -Running clang-tidy for 18 files out of 18 in compilation database ... -[ 1/18][3.8s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:9:2: warning: preprocessor condition can be written more concisely using '#ifdef' [readability-use-concise-preprocessor-directives] - 9 | #if defined BIGFOOT_WINDOWS - | ^~ ~~~~~~~~~~~~~~~~~~~~~~~ - | ifdef BIGFOOT_WINDOWS -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:36:2: warning: preprocessor condition can be written more concisely using '#ifdef' [readability-use-concise-preprocessor-directives] - 36 | #if defined(__cplusplus) - | ^~ ~~~~~~~~~~~~~~~~~~~~ - | ifdef __cplusplus -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:49:30: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 49 | void operator delete(void* p) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); }; - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:50:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 50 | void operator delete[](void* p) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); }; - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:52:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 52 | void operator delete (void* p, const std::nothrow_t&) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:52:56: warning: all parameters should be named in a function [readability-named-parameter] - 52 | void operator delete (void* p, const std::nothrow_t&) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ - | /*unused*/ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:53:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 53 | void operator delete[](void* p, const std::nothrow_t&) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:53:56: warning: all parameters should be named in a function [readability-named-parameter] - 53 | void operator delete[](void* p, const std::nothrow_t&) noexcept { mi_free(p); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ - | /*unused*/ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:55:76: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 55 | mi_decl_new(n) void* operator new(std::size_t n) noexcept(false) { void* p = mi_new(n); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:56:78: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 56 | mi_decl_new(n) void* operator new[](std::size_t n) noexcept(false) { void* p = mi_new(n); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:58:119: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 58 | mi_decl_new_nothrow(n) void* operator new (std::size_t n, const std::nothrow_t& tag) noexcept { (void)(tag); void* p = mi_new_nothrow(n); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:59:119: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 59 | mi_decl_new_nothrow(n) void* operator new[](std::size_t n, const std::nothrow_t& tag) noexcept { (void)(tag); void* p = mi_new_nothrow(n); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:62:55: warning: 2 adjacent parameters of 'operator new[]' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters] - 62 | void* operator new[](size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new(size); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:62:59: note: the first parameter in the range is 'flags' - 62 | void* operator new[](size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new(size); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^~~~~ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:62:75: note: the last parameter in the range is 'debugFlags' - 62 | void* operator new[](size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new(size); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^~~~~~~~~~ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:62:66: note: 'int' and 'unsigned int' may be implicitly converted - 62 | void* operator new[](size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new(size); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:62:139: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 62 | void* operator new[](size_t size, const char* name, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new(size); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:65:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 65 | void operator delete (void* p, std::size_t n) noexcept { mi_free_size(p,n); BIGFOOT_PROFILER_MEMORY_FREE(p); }; - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:66:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 66 | void operator delete[](void* p, std::size_t n) noexcept { mi_free_size(p,n); BIGFOOT_PROFILER_MEMORY_FREE(p); }; - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:70:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 70 | void operator delete (void* p, std::align_val_t al) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:70:52: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] - 70 | void operator delete (void* p, std::align_val_t al) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:71:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 71 | void operator delete[](void* p, std::align_val_t al) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:71:52: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] - 71 | void operator delete[](void* p, std::align_val_t al) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:72:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 72 | void operator delete (void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); }; - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:72:67: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] - 72 | void operator delete (void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); }; - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:73:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 73 | void operator delete[](void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); }; - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:73:67: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] - 73 | void operator delete[](void* p, std::size_t n, std::align_val_t al) noexcept { mi_free_size_aligned(p, n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); }; - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:74:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 74 | void operator delete (void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:74:52: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] - 74 | void operator delete (void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:74:77: warning: all parameters should be named in a function [readability-named-parameter] - 74 | void operator delete (void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ - | /*unused*/ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:75:32: warning: parameter name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 75 | void operator delete[](void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:75:52: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] - 75 | void operator delete[](void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:75:77: warning: all parameters should be named in a function [readability-named-parameter] - 75 | void operator delete[](void* p, std::align_val_t al, const std::nothrow_t&) noexcept { mi_free_aligned(p, static_cast(al)); BIGFOOT_PROFILER_MEMORY_FREE(p); } - | ^ - | /*unused*/ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:77:56: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] - 77 | void* operator new (std::size_t n, std::align_val_t al) noexcept(false) { void* p = mi_new_aligned(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:77:84: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 77 | void* operator new (std::size_t n, std::align_val_t al) noexcept(false) { void* p = mi_new_aligned(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:78:56: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] - 78 | void* operator new[](std::size_t n, std::align_val_t al) noexcept(false) { void* p = mi_new_aligned(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:78:84: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 78 | void* operator new[](std::size_t n, std::align_val_t al) noexcept(false) { void* p = mi_new_aligned(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:79:56: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] - 79 | void* operator new (std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:79:81: warning: all parameters should be named in a function [readability-named-parameter] - 79 | void* operator new (std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ - | /*unused*/ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:79:100: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 79 | void* operator new (std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:80:56: warning: parameter name 'al' is too short, expected at least 3 characters [readability-identifier-length] - 80 | void* operator new[](std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:80:81: warning: all parameters should be named in a function [readability-named-parameter] - 80 | void* operator new[](std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ - | /*unused*/ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:80:100: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 80 | void* operator new[](std::size_t n, std::align_val_t al, const std::nothrow_t&) noexcept { void* p = mi_new_aligned_nothrow(n, static_cast(al)); BIGFOOT_PROFILER_MEMORY_ALLOC(p, n); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:37: warning: 2 adjacent parameters of 'operator new[]' of similar type ('size_t') are easily swapped by mistake [bugprone-easily-swappable-parameters] - 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:44: note: the first parameter in the range is 'alignment' - 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^~~~~~~~~ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:62: note: the last parameter in the range is 'alignmentOffset' - 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^~~~~~~~~~~~~~~ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:98: warning: 2 adjacent parameters of 'operator new[]' of convertible types are easily swapped by mistake [bugprone-easily-swappable-parameters] - 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:102: note: the first parameter in the range is 'flags' - 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^~~~~ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:118: note: the last parameter in the range is 'debugFlags' - 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^~~~~~~~~~ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:109: note: 'int' and 'unsigned int' may be implicitly converted - 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:83:182: warning: variable name 'p' is too short, expected at least 3 characters [readability-identifier-length] - 83 | void* operator new[](size_t size, size_t alignment, size_t alignmentOffset, const char* pName, int flags, unsigned debugFlags, const char* file, int line) noexcept(false) { void* p = mi_new_aligned(size, alignment); BIGFOOT_PROFILER_MEMORY_ALLOC(p, size); return p; } - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/MimallocImpl.cpp:90:2: warning: preprocessor condition can be written more concisely using '#ifdef' [readability-use-concise-preprocessor-directives] - 90 | #if defined BIGFOOT_WINDOWS - | ^~ ~~~~~~~~~~~~~~~~~~~~~~~ - | ifdef BIGFOOT_WINDOWS -23560 warnings generated. -Suppressed 23516 warnings (23516 in non-user code). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[ 2/18][7.0s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Utils/TargetMacros.cpp -44000 warnings generated. -Suppressed 44035 warnings (44000 in non-user code, 35 NOLINT). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[ 3/18][10.5s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/System/File.cpp -54723 warnings generated. -Suppressed 54758 warnings (54723 in non-user code, 35 NOLINT). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[ 4/18][10.1s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/System/Time.cpp -49576 warnings generated. -Suppressed 49611 warnings (49576 in non-user code, 35 NOLINT). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[ 5/18][6.0s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/File.cpp -/workspaces/Bigfoot/Bigfoot/Sources/System/File.cpp:61:12: warning: pass by value and use std::move [modernize-pass-by-value] - 8 | File::File(const std::filesystem::path& p_path): - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ - | std::filesystem::path - 9 | m_path(p_path), - | - | std::move( ) -/workspaces/Bigfoot/Bigfoot/Sources/System/File.cpp:63:18: warning: redundant call to 'c_str' [readability-redundant-string-cstr] - 63 | m_pathString(m_path.string().c_str()) - | ^~~~~~~~~~~~~~~~~~~~~~~ - | m_path.string() -35697 warnings generated. -Suppressed 35695 warnings (35695 in non-user code). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[ 6/18][20.5s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/System/UUID/UUID.cpp -/workspaces/Bigfoot/Bigfoot/Tests/System/UUID/UUID.cpp:22:27: warning: 16 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] - 22 | std::array m_raw { - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/System/UUID/UUID.cpp:164:43: warning: 5'000'000 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] - 164 | for (std::uint32_t index = 0; index < 5'000'000; ++index) - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/System/UUID/UUID.cpp:174:54: warning: variable name 'd' is too short, expected at least 3 characters [readability-identifier-length] - 174 | std::span d = m_d; - | ^ -60055 warnings generated. -Suppressed 60094 warnings (60050 in non-user code, 44 NOLINT). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[ 7/18][14.2s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp:14:7: warning: class 'SingletonMock' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions] - 14 | class SingletonMock - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp:22:7: warning: class 'SingletonTest' defines a non-default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions] - 22 | class SingletonTest - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp:66:40: warning: member variable 'm_mock' has protected visibility [cppcoreguidelines-non-private-member-variables-in-classes] - 66 | std::unique_ptr m_mock; - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp:90:51: warning: 42 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] - 90 | Singleton::Lifetime singleton {42}; - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Singleton.cpp:97:51: warning: 42 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] - 97 | Singleton::Lifetime singleton {42}; - | ^ -55211 warnings generated. -Suppressed 55285 warnings (55204 in non-user code, 81 NOLINT). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[ 8/18][4.9s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/Utils/Version.cpp -30028 warnings generated. -Suppressed 30028 warnings (30028 in non-user code). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[ 9/18][0.1s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Engine/touch.cpp -[10/18][21.2s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Utils/Version.cpp -52154 warnings generated. -Suppressed 52189 warnings (52154 in non-user code, 35 NOLINT). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[11/18][10.6s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/UUID/FlatUUID.cpp -/workspaces/Bigfoot/Bigfoot/Sources/System/UUID/FlatUUID.cpp:15:69: warning: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast] - 15 | std::span {reinterpret_cast(bytes.data()), - | ^ -63427 warnings generated. -Suppressed 63426 warnings (63426 in non-user code). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[12/18][10.1s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/UUID/UUID.cpp -/workspaces/Bigfoot/Bigfoot/Sources/System/UUID/UUID.cpp:36:7: warning: do not use const_cast to remove const qualifier [cppcoreguidelines-pro-type-const-cast] - 36 | const_cast(std::bit_cast(p_raw.data())), - | ^ -/workspaces/Bigfoot/Bigfoot/Sources/System/UUID/UUID.cpp:36:33: warning: do not use 'std::bit_cast' to cast between pointers [bugprone-bitwise-pointer-cast] - 36 | const_cast(std::bit_cast(p_raw.data())), - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -/workspaces/Bigfoot/Bigfoot/Sources/System/UUID/UUID.cpp:76:5: warning: use a ranges version of this algorithm [modernize-use-ranges] - 8 | std::generate(seed.begin(), seed.end(), std::reference_wrapper {randomDevice}); - | ^~~~~~~~~~~~~ ~~~~~~~~~~~~ ~~~~~~~~~~ - | std::ranges::generate seed -53173 warnings generated. -Suppressed 53170 warnings (53170 in non-user code). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[13/18][6.6s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Utils/Concat.cpp -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Concat.cpp:22:25: warning: result of a `data()` call may not be null terminated, provide size information to the callee to prevent potential issues [bugprone-suspicious-stringview-data-usage] - 22 | EXPECT_STREQ(result.data(), "ab"); - | ^ -/workspaces/Bigfoot/build/build/Debug/generators/../../../full_deploy/host/gtest/1.17.0/Debug/x86_64/include/gtest/gtest.h:1954:60: note: expanded from macro 'EXPECT_STREQ' - 1954 | EXPECT_PRED_FORMAT2(::testing::internal::CmpHelperSTREQ, s1, s2) - | ^~ -/workspaces/Bigfoot/build/build/Debug/generators/../../../full_deploy/host/gtest/1.17.0/Debug/x86_64/include/gtest/gtest_pred_impl.h:144:36: note: expanded from macro 'EXPECT_PRED_FORMAT2' - 144 | GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_NONFATAL_FAILURE_) - | ^~ -/workspaces/Bigfoot/build/build/Debug/generators/../../../full_deploy/host/gtest/1.17.0/Debug/x86_64/include/gtest/gtest_pred_impl.h:134:39: note: expanded from macro 'GTEST_PRED_FORMAT2_' - 134 | GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), on_failure) - | ^~ -/workspaces/Bigfoot/build/build/Debug/generators/../../../full_deploy/host/gtest/1.17.0/Debug/x86_64/include/gtest/gtest_pred_impl.h:79:52: note: expanded from macro 'GTEST_ASSERT_' - 79 | if (const ::testing::AssertionResult gtest_ar = (expression)) \ - | ^~~~~~~~~~ -44000 warnings generated. -Suppressed 44034 warnings (43999 in non-user code, 35 NOLINT). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[14/18][9.7s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:13:7: warning: class 'Parent' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions] - 13 | class Parent - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:23:5: warning: function 'GetParentValue' should be marked [[nodiscard]] [modernize-use-nodiscard] - 23 | std::uint32_t GetParentValue() const - | ^ - | [[nodiscard]] -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:28:5: warning: function 'GetChildValue' should be marked [[nodiscard]] [modernize-use-nodiscard] - 28 | virtual std::uint32_t GetChildValue() const = 0; - | ^ - | [[nodiscard]] -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:36:7: warning: class 'ChildA' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions] - 36 | class ChildA final: public Parent - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:40:16: warning: 28 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] - 40 | Parent(28), - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:47:5: warning: function 'GetChildValue' should be marked [[nodiscard]] [modernize-use-nodiscard] - 47 | std::uint32_t GetChildValue() const override - | ^ - | [[nodiscard]] -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:58:7: warning: class 'ChildB' defines a default destructor but does not define a copy constructor, a copy assignment operator, a move constructor or a move assignment operator [cppcoreguidelines-special-member-functions] - 58 | class ChildB final: public Parent - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:62:16: warning: 34 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] - 62 | Parent(34), - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/Utils/Caster.cpp:69:5: warning: function 'GetChildValue' should be marked [[nodiscard]] [modernize-use-nodiscard] - 69 | std::uint32_t GetChildValue() const override - | ^ - | [[nodiscard]] -49157 warnings generated. -Suppressed 49181 warnings (49146 in non-user code, 35 NOLINT). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[15/18][0.1s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/Engine/touch.cpp -[16/18][9.4s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/Time.cpp -/workspaces/Bigfoot/Bigfoot/Sources/System/Time.cpp:59:33: warning: 1900 is a magic number; consider replacing it with a named constant [cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers] - 59 | return m_timeInfo.tm_year + 1900; - | ^ -69970 warnings generated. -Suppressed 69968 warnings (69968 in non-user code). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[17/18][20.4s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Sources/System/Log/Log.cpp -/workspaces/Bigfoot/Bigfoot/Sources/System/Log/Log.cpp:9:2: warning: preprocessor condition can be written more concisely using '#ifdef' [readability-use-concise-preprocessor-directives] - 9 | #if defined BIGFOOT_NOT_OPTIMIZED - | ^~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - | ifdef BIGFOOT_NOT_OPTIMIZED -/workspaces/Bigfoot/Bigfoot/Sources/System/Log/Log.cpp:36:21: warning: method 'GetLogger' can be made static [readability-convert-member-functions-to-static] - 36 | quill::Logger* Log::GetLogger(const LoggerInfo& p_loggerInfo) - | ^ -69764 warnings generated. -Suppressed 69762 warnings (69762 in non-user code). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -[18/18][21.6s] clang-tidy-21 -p=./build/Debug/ /workspaces/Bigfoot/Bigfoot/Tests/System/Log/Log.cpp -/workspaces/Bigfoot/Bigfoot/Tests/System/Log/Log.cpp:13:2: warning: preprocessor condition can be written more concisely using '#ifdef' [readability-use-concise-preprocessor-directives] - 13 | #if defined BIGFOOT_NOT_OPTIMIZED - | ^~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - | ifdef BIGFOOT_NOT_OPTIMIZED -/workspaces/Bigfoot/Bigfoot/Tests/System/Log/Log.cpp:24:30: warning: use designated initializer list to initialize 'LoggerInfo' [modernize-use-designated-initializers] - 24 | SYSTEMTESTS_LOGGER = {"UTILSTESTS_LOGGER", Flat::LogLevel::Trace}; - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - | .m_name= .m_level= -/workspaces/Bigfoot/Bigfoot/Sources/System/Include/System/Log/Log.hpp:35:5: note: aggregate type is defined here - 35 | struct LoggerInfo - | ^ -/workspaces/Bigfoot/Bigfoot/Tests/System/Log/Log.cpp:50:9: warning: member variable 'm_log' has protected visibility [cppcoreguidelines-non-private-member-variables-in-classes] - 50 | Log m_log; - | ^ -72869 warnings generated. -Suppressed 72901 warnings (72866 in non-user code, 35 NOLINT). -Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well. - -- 2.49.1 From 6c30582a3c6a0f54e93a5ab282bbcebd4fbb2504 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Fri, 30 Jan 2026 16:30:13 +0100 Subject: [PATCH 07/12] update clang-tidy --- .gitea/workflows/sonarqube.yml | 3 ++- sonar-project.properties | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml index bc64429..f5612da 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -20,6 +20,7 @@ jobs: - name: Checkout repository uses: actions/checkout@v6 with: + fetch-depth: 0 submodules: recursive - name: Generate @@ -28,7 +29,7 @@ jobs: cmake -S . -B ./build/Debug --toolchain ./build/Debug/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_UNITY_BUILD=Debug -G "Ninja" - name: Clang-Tidy - run: run-clang-tidy -p ./build/Debug/ >> tidy_result + run: run-clang-tidy -p ./build/Debug/ >> tidy_result.txt - name: SonarQube Scan uses: SonarSource/sonarqube-scan-action@v7.0.0 diff --git a/sonar-project.properties b/sonar-project.properties index 5619c38..9120d71 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -8,4 +8,4 @@ sonar.sources=Bigfoot/Sources sonar.tests=Bigfoot/Tests sonar.cxx.file.suffixes=.hpp,.cpp,.h -sonar.cxx.clangtidy.reportPaths=tidy_result \ No newline at end of file +sonar.cxx.clangtidy.reportPaths=tidy_result.txt \ No newline at end of file -- 2.49.1 From 80fdfe464cd8ad2e70a68ca4a35f9cc7ad85d811 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Fri, 30 Jan 2026 17:11:04 +0100 Subject: [PATCH 08/12] compilation database --- .gitea/workflows/sonarqube.yml | 3 +++ sonar-project.properties | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml index f5612da..109b382 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -33,6 +33,9 @@ jobs: - name: SonarQube Scan uses: SonarSource/sonarqube-scan-action@v7.0.0 + with: + args: > + -Dsonar.cxx.jsonCompilationDatabase=./build/Debug/compile_commands.json env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} SONAR_HOST_URL: ${{ secrets.SONAR_HOST }} \ No newline at end of file diff --git a/sonar-project.properties b/sonar-project.properties index 9120d71..59b564d 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -8,4 +8,6 @@ sonar.sources=Bigfoot/Sources sonar.tests=Bigfoot/Tests sonar.cxx.file.suffixes=.hpp,.cpp,.h -sonar.cxx.clangtidy.reportPaths=tidy_result.txt \ No newline at end of file +sonar.cxx.clangtidy.reportPaths=tidy_result.txt + +sonar.cxx.jsonCompilationDatabase.analyzeOnlyContainedFiles=True \ No newline at end of file -- 2.49.1 From 22a74487a3bca7ea66399b0f12be1153e16bacc3 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Fri, 30 Jan 2026 17:18:06 +0100 Subject: [PATCH 09/12] verbose sonar --- .gitea/workflows/sonarqube.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml index 109b382..acbd02f 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -36,6 +36,7 @@ jobs: with: args: > -Dsonar.cxx.jsonCompilationDatabase=./build/Debug/compile_commands.json + -Dsonar.verbose=true env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} SONAR_HOST_URL: ${{ secrets.SONAR_HOST }} \ No newline at end of file -- 2.49.1 From ce496d539a0ce57a73f9f84443a47eac3e6ab3a8 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Fri, 30 Jan 2026 18:42:20 +0100 Subject: [PATCH 10/12] infer --- .clang-tidy | 1 - .gitea/workflows/sonarqube.yml | 3 +++ .inferconfig | 3 +++ sonar-project.properties | 1 + 4 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 .inferconfig diff --git a/.clang-tidy b/.clang-tidy index 92f8412..d28ed7a 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -15,7 +15,6 @@ Checks: > -cppcoreguidelines-macro-usage, -cppcoreguidelines-avoid-do-while -HeaderFilterRegex: '^(Bigfoot)/' ExcludeHeaderFilterRegex: '_generated.*' CheckOptions: diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml index acbd02f..233a50e 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -31,6 +31,9 @@ jobs: - name: Clang-Tidy run: run-clang-tidy -p ./build/Debug/ >> tidy_result.txt + # - name: Infer + # run: infer run --compilation-database build/Debug/compile_commands.json + - name: SonarQube Scan uses: SonarSource/sonarqube-scan-action@v7.0.0 with: diff --git a/.inferconfig b/.inferconfig new file mode 100644 index 0000000..0e0dcd2 --- /dev/null +++ b/.inferconfig @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file diff --git a/sonar-project.properties b/sonar-project.properties index 59b564d..e9c5e81 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -9,5 +9,6 @@ sonar.tests=Bigfoot/Tests sonar.cxx.file.suffixes=.hpp,.cpp,.h sonar.cxx.clangtidy.reportPaths=tidy_result.txt +sonar.cxx.infer.reportPaths=infer-out/report.json sonar.cxx.jsonCompilationDatabase.analyzeOnlyContainedFiles=True \ No newline at end of file -- 2.49.1 From cfd8fb7ec2189de2b5948dd86c1d612174bf8237 Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Fri, 30 Jan 2026 18:46:46 +0100 Subject: [PATCH 11/12] infer activate --- .gitea/workflows/sonarqube.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml index 233a50e..ecadf03 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -31,8 +31,8 @@ jobs: - name: Clang-Tidy run: run-clang-tidy -p ./build/Debug/ >> tidy_result.txt - # - name: Infer - # run: infer run --compilation-database build/Debug/compile_commands.json + - name: Infer + run: infer run --compilation-database build/Debug/compile_commands.json - name: SonarQube Scan uses: SonarSource/sonarqube-scan-action@v7.0.0 -- 2.49.1 From d512526839eea888c89ed50b0e92bebf0735788e Mon Sep 17 00:00:00 2001 From: Romain BOULLARD Date: Sun, 1 Feb 2026 22:08:52 +0100 Subject: [PATCH 12/12] Static analysis --- .gitea/workflows/sonarqube.yml | 8 ++++---- CMake/Package.cmake | 6 +++++- CMakeLists.txt | 1 + 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/.gitea/workflows/sonarqube.yml b/.gitea/workflows/sonarqube.yml index ecadf03..73cabfe 100644 --- a/.gitea/workflows/sonarqube.yml +++ b/.gitea/workflows/sonarqube.yml @@ -3,8 +3,7 @@ name: Bigfoot on: push: branches: - - '**' - workflow_dispatch: + - 'main' jobs: build-and-test: @@ -25,8 +24,9 @@ jobs: - name: Generate run: | - conan install . --deployer=full_deploy --deployer-folder=build --remote=bigfootpackages -pr:h=clang -pr:b=clang --build=missing -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True -o bigfoot/*:build_benchmarks=True - cmake -S . -B ./build/Debug --toolchain ./build/Debug/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_UNITY_BUILD=Debug -G "Ninja" + conan install . --deployer=full_deploy --deployer-folder=build --remote=bigfootpackages -pr:h=clang_coverage -pr:b=clang_coverage --build=missing -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True -o bigfoot/*:build_benchmarks=True + cmake -S . -B ./build/Debug --toolchain ./build/Debug/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Debug -G "Ninja" + cmake --build build/Debug --parallel $(nproc) - name: Clang-Tidy run: run-clang-tidy -p ./build/Debug/ >> tidy_result.txt diff --git a/CMake/Package.cmake b/CMake/Package.cmake index 8f46ecd..ed86db9 100644 --- a/CMake/Package.cmake +++ b/CMake/Package.cmake @@ -22,6 +22,8 @@ function(bigfoot_create_package_lib PackagePublicDependencies PackagePrivateDepe ${_BF_SOURCES} ) + target_compile_options(${PROJECT_NAME} PRIVATE ${BIGFOOT_CXX_FLAGS}) + target_link_libraries(${PROJECT_NAME} PUBLIC unordered_dense::unordered_dense EASTL::EASTL flatbuffers::flatbuffers rapidhash::rapidhash) target_link_libraries(${PROJECT_NAME} PRIVATE ${CMAKE_DL_LIBS}) @@ -55,6 +57,9 @@ function(bigfoot_create_package_tests ParentFolder BigfootDependencies) ${_BF_TEST_SOURCES} ) + target_compile_options(${PROJECT_NAME} PRIVATE ${BIGFOOT_CXX_FLAGS}) + target_link_options(${PROJECT_NAME} PRIVATE ${BIGFOOT_EXE_LINK_FLAGS}) + target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/Include) target_link_libraries(${PROJECT_NAME} PRIVATE $) @@ -89,5 +94,4 @@ function(bigfoot_create_package_tests ParentFolder BigfootDependencies) add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}Fixture) set_target_properties(${PROJECT_NAME}Fixture PROPERTIES FOLDER UtilityTargets/Tests/Bigfoot/${ParentFolder}) - endfunction() \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 0fd09f0..665a2ff 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,6 @@ cmake_minimum_required(VERSION 3.24) +# CMake sets this flag by default, we don't use exception in bigfoot, we can remove it string(REPLACE "/EHsc" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") project(Bigfoot VERSION 0.1.0 -- 2.49.1