From 252b37c5bfe91ef5d86a12377fc6c8dc279f344b Mon Sep 17 00:00:00 2001 From: ludamad Date: Fri, 28 Jul 2023 18:01:06 -0400 Subject: [PATCH 1/7] ci: reintroduce limited tidy --- .circleci/config.yml | 25 +++-- circuits/cpp/.clang-tidy | 180 ++++++++++++++++++++++------------- circuits/cpp/scripts/tidy.sh | 4 +- 3 files changed, 130 insertions(+), 79 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9e6b7efdcdf..4e890d7608b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -316,17 +316,16 @@ jobs: name: "Build" command: cond_spot_run_build circuits-wasm-linux-clang-assert 64 - # TODO Disabling until this is 3-10x faster see #1152 - # circuits-x86_64-linux-clang-tidy: - # docker: - # - image: aztecprotocol/alpine-build-image - # resource_class: small - # steps: - # - *checkout - # - *setup_env - # - run: - # name: "Build" - # command: cond_spot_run_build circuits-x86_64-linux-clang-tidy 64 + circuits-x86_64-linux-clang-tidy: + docker: + - image: aztecprotocol/alpine-build-image + resource_class: small + steps: + - *checkout + - *setup_env + - run: + name: "Build" + command: cond_spot_run_build circuits-x86_64-linux-clang-tidy 64 circuits-x86_64-linux-clang: docker: @@ -1068,7 +1067,7 @@ workflows: <<: *defaults - circuits-wasm-linux-clang: *defaults - circuits-wasm-linux-clang-assert: *defaults - # - circuits-x86_64-linux-clang-tidy: *defaults # TODO #1152 + - circuits-x86_64-linux-clang-tidy: *defaults - circuits-x86_64-linux-clang: *defaults - circuits-x86_64-linux-clang-assert: *defaults - circuits-wasm-tests: @@ -1080,7 +1079,7 @@ workflows: requires: - circuits-wasm-linux-clang - circuits-wasm-linux-clang-assert - # - circuits-x86_64-linux-clang-tidy # TODO #1152 + - circuits-x86_64-linux-clang-tidy - circuits-x86_64-linux-clang - circuits-x86_64-linux-clang-assert - circuits-wasm-tests diff --git a/circuits/cpp/.clang-tidy b/circuits/cpp/.clang-tidy index a599734df81..c39e1cc0991 100644 --- a/circuits/cpp/.clang-tidy +++ b/circuits/cpp/.clang-tidy @@ -12,72 +12,124 @@ # So, it needs to omit certain checks or keep them as warnings only # if they are too strict. +# TODO(AD): Picking a limited subset for now, pending a deeper dive into the performance issues. Checks: ' - cert-*, - google-*, - cppcoreguidelines-*, - readability-*, - modernize-*, - bugprone-*, - misc-*, - performance-*, - clang-analyzer-*, - concurrency-*, - portability-*, - -bugprone-easily-swappable-parameters, - -bugprone-reserved-identifier, - -cppcoreguidelines-non-private-member-variables-in-classes, - -cppcoreguidelines-pro-bounds-constant-array-index, - -cppcoreguidelines-pro-bounds-pointer-arithmetic, - -cppcoreguidelines-pro-type-member-init, - -cert-dcl37-c, - -cert-dcl51-cpp, - -cert-dcl59-cpp, - -google-build-namespaces, - -google-readability-avoid-underscore-in-googletest-name, - -google-readability-todo, - -misc-non-private-member-variables-in-classes, - -modernize-avoid-c-arrays, - -modernize-pass-by-value, - -modernize-use-nodiscard, - -modernize-use-trailing-return-type, - -readability-identifier-length, - -readability-simplify-boolean-expr, - -readability-use-anyofallof, + clang-analyzer-apiModeling.Errno + clang-analyzer-apiModeling.StdCLibraryFunctions + 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.CallAndMessage + clang-analyzer-core.CallAndMessageModeling + clang-analyzer-core.DivideZero + clang-analyzer-core.DynamicTypePropagation + 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.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.UndefReturn + clang-analyzer-cplusplus.InnerPointer + clang-analyzer-cplusplus.Move + clang-analyzer-cplusplus.NewDelete + clang-analyzer-cplusplus.PlacementNew + clang-analyzer-cplusplus.PureVirtualCall + clang-analyzer-cplusplus.SelfAssignment + clang-analyzer-cplusplus.SmartPtrModeling + clang-analyzer-cplusplus.StringChecker + clang-analyzer-cplusplus.VirtualCallModeling + clang-analyzer-deadcode.DeadStores + clang-analyzer-fuchsia.HandleChecker + clang-analyzer-nullability.NullPassedToNonnull + clang-analyzer-nullability.NullReturnedFromNonnull + clang-analyzer-nullability.NullabilityBase + clang-analyzer-nullability.NullableDereferenced + clang-analyzer-nullability.NullablePassedToNonnull + clang-analyzer-nullability.NullableReturnedFromNonnull + 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.portability.UnixAPI + clang-analyzer-security.FloatLoopCounter + 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.DynamicMemoryModeling + clang-analyzer-unix.Malloc + clang-analyzer-unix.MallocSizeof + clang-analyzer-unix.MismatchedDeallocator + clang-analyzer-unix.Vfork + clang-analyzer-unix.cstring.BadSizeArg + clang-analyzer-unix.cstring.CStringModeling + 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-goto + cppcoreguidelines-explicit-virtual-functions + cppcoreguidelines-init-variables + cppcoreguidelines-interfaces-global-init + cppcoreguidelines-macro-usage + cppcoreguidelines-narrowing-conversions + cppcoreguidelines-prefer-member-initializer + cppcoreguidelines-pro-type-const-cast + cppcoreguidelines-pro-type-static-cast-downcast + cppcoreguidelines-pro-type-union-access + cppcoreguidelines-pro-type-vararg + cppcoreguidelines-slicing + cppcoreguidelines-virtual-class-destructor + 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-move-constructor + performance-trivially-destructible + performance-type-promotion-in-math-fn + performance-unnecessary-copy-initialization + portability-restrict-system-includes + portability-simd-intrinsics + portability-std-allocator-const ' -# We treat all warnings as errors except for these few. -# Some of these exceptions like 'google-build-using-namespace' -# we should be able to manually fix project-wide and then -# remove from the omissions list. -WarningsAsErrors: ' - *, - -bugprone-unchecked-optional-access, - -bugprone-unhandled-self-assignment, - -clang-analyzer-core.UndefinedBinaryOperatorResult, - -clang-analyzer-cplusplus.NewDeleteLeaks, - -clang-analyzer-optin.performance.Padding, - -cert-err58-cpp, - -cert-oop54-cpp, - -cppcoreguidelines-avoid-non-const-global-variables, - -cppcoreguidelines-avoid-magic-numbers, - -cppcoreguidelines-c-copy-assignment-signature, - -cppcoreguidelines-no-malloc, - -cppcoreguidelines-owning-memory, - -cppcoreguidelines-pro-type-cstyle-cast, - -cppcoreguidelines-pro-type-reinterpret-cast, - -cppcoreguidelines-special-member-functions, - -google-build-using-namespace, - -google-global-names-in-headers, - -google-readability-casting, - -misc-definitions-in-headers, - -misc-no-recursion, - -misc-unconventional-assign-operator, - -modernize-return-braced-init-list, - -performance-unnecessary-value-param, - -readability-function-cognitive-complexity, - -readability-magic-numbers, -' +# We treat all warnings as errors. +WarningsAsErrors: '*' # Notes on specific Checks and WarningsAsErrors # @@ -134,4 +186,4 @@ WarningsAsErrors: ' # -readability-magic-numbers, HeaderFilterRegex: 'src/aztec3/' -FormatStyle: file \ No newline at end of file +FormatStyle: file diff --git a/circuits/cpp/scripts/tidy.sh b/circuits/cpp/scripts/tidy.sh index 6399e35e61f..984ad38ec3b 100755 --- a/circuits/cpp/scripts/tidy.sh +++ b/circuits/cpp/scripts/tidy.sh @@ -66,7 +66,7 @@ echo "Before running clang-tidy, MD5 of all C++ files was: $BEFORE_MD5" echo "*************************************************************************" # Need run-clang-tidy version 15, but it doesn't have a --version flag -RUN_TIDY=$(which run-clang-tidy-15 || which run-clang-tidy) +RUN_TIDY=$(which run-clang-tidy-15 || which run-clang-tidy || which run-clang-tidy-mp-15) # tidy all sources $RUN_TIDY -p $BUILD_DIR $SOURCES $FIX_OPT -use-color || {\ echo "Errors encountered when running clang-tidy!" && @@ -99,4 +99,4 @@ else echo "To apply these fixes later, run the following from circuits/cpp:" echo " clang-apply-replacements --format --style file $EXPORT_DIR" fi -echo "*************************************************************************" \ No newline at end of file +echo "*************************************************************************" From 953475f1b81aa6f5eff5cee924f3661ec9f65268 Mon Sep 17 00:00:00 2001 From: ludamad Date: Fri, 28 Jul 2023 18:08:39 -0400 Subject: [PATCH 2/7] ci: reintroduce limited tidy --- circuits/cpp/.clang-tidy | 2 -- 1 file changed, 2 deletions(-) diff --git a/circuits/cpp/.clang-tidy b/circuits/cpp/.clang-tidy index c39e1cc0991..d973d6a1f92 100644 --- a/circuits/cpp/.clang-tidy +++ b/circuits/cpp/.clang-tidy @@ -30,7 +30,6 @@ Checks: ' clang-analyzer-core.NullDereference clang-analyzer-core.StackAddrEscapeBase clang-analyzer-core.StackAddressEscape - clang-analyzer-core.UndefinedBinaryOperatorResult clang-analyzer-core.VLASize clang-analyzer-core.builtin.BuiltinFunctions clang-analyzer-core.builtin.NoReturnFunctions @@ -44,7 +43,6 @@ Checks: ' clang-analyzer-cplusplus.NewDelete clang-analyzer-cplusplus.PlacementNew clang-analyzer-cplusplus.PureVirtualCall - clang-analyzer-cplusplus.SelfAssignment clang-analyzer-cplusplus.SmartPtrModeling clang-analyzer-cplusplus.StringChecker clang-analyzer-cplusplus.VirtualCallModeling From 74769e654d8b90a844058c80cb8ff95549d7ca63 Mon Sep 17 00:00:00 2001 From: ludamad Date: Fri, 28 Jul 2023 18:37:53 -0400 Subject: [PATCH 3/7] ci: reintroduce limited tidy --- circuits/cpp/.clang-tidy | 1 + 1 file changed, 1 insertion(+) diff --git a/circuits/cpp/.clang-tidy b/circuits/cpp/.clang-tidy index d973d6a1f92..d0f4769d097 100644 --- a/circuits/cpp/.clang-tidy +++ b/circuits/cpp/.clang-tidy @@ -124,6 +124,7 @@ Checks: ' portability-restrict-system-includes portability-simd-intrinsics portability-std-allocator-const + -clang-analyzer-optin.performance.Padding ' # We treat all warnings as errors. From a9efd760b391d86a74dd6bb9bdff9fce7b3f40a6 Mon Sep 17 00:00:00 2001 From: ludamad Date: Fri, 28 Jul 2023 18:46:41 -0400 Subject: [PATCH 4/7] Keep old version as reference --- circuits/cpp/.clang-tidy | 24 +++ circuits/cpp/.clang-tidy.slow | 137 ++++++++++++++++++ .../Dockerfile.x86_64-linux-clang-tidy | 24 +-- 3 files changed, 173 insertions(+), 12 deletions(-) create mode 100644 circuits/cpp/.clang-tidy.slow diff --git a/circuits/cpp/.clang-tidy b/circuits/cpp/.clang-tidy index d0f4769d097..03916258df4 100644 --- a/circuits/cpp/.clang-tidy +++ b/circuits/cpp/.clang-tidy @@ -124,7 +124,31 @@ Checks: ' portability-restrict-system-includes portability-simd-intrinsics portability-std-allocator-const + -bugprone-unchecked-optional-access + -bugprone-unhandled-self-assignment + -clang-analyzer-core.UndefinedBinaryOperatorResult + -clang-analyzer-cplusplus.NewDeleteLeaks -clang-analyzer-optin.performance.Padding + -cert-err58-cpp + -cert-oop54-cpp + -cppcoreguidelines-avoid-non-const-global-variables + -cppcoreguidelines-avoid-magic-numbers + -cppcoreguidelines-c-copy-assignment-signature + -cppcoreguidelines-no-malloc + -cppcoreguidelines-owning-memory + -cppcoreguidelines-pro-type-cstyle-cast + -cppcoreguidelines-pro-type-reinterpret-cast + -cppcoreguidelines-special-member-functions + -google-build-using-namespace + -google-global-names-in-headers + -google-readability-casting + -misc-definitions-in-headers + -misc-no-recursion + -misc-unconventional-assign-operator + -modernize-return-braced-init-list + -performance-unnecessary-value-param + -readability-function-cognitive-complexity + -readability-magic-numbers ' # We treat all warnings as errors. diff --git a/circuits/cpp/.clang-tidy.slow b/circuits/cpp/.clang-tidy.slow new file mode 100644 index 00000000000..a599734df81 --- /dev/null +++ b/circuits/cpp/.clang-tidy.slow @@ -0,0 +1,137 @@ +# Note there is some overlap between this file and .clangd +# .clangd has no concept of warnings versus errors, but since it +# won't actually fail/error (since its really just an LSP for +# showing issues in an editor), it is acceptable to treat most +# .clang-tidy warnings as .clangd errors. Also, some error codes +# with buggy-autofixes need to be omitted from checks in .clang-tidy +# but can be included in .clangd since it won't change code without +# a user action. +# +# .clang-tidy on the other hand will error in CI for any check that +# is flagged (not explicitly omitted after '*') in WarningsAsErrors. +# So, it needs to omit certain checks or keep them as warnings only +# if they are too strict. + +Checks: ' + cert-*, + google-*, + cppcoreguidelines-*, + readability-*, + modernize-*, + bugprone-*, + misc-*, + performance-*, + clang-analyzer-*, + concurrency-*, + portability-*, + -bugprone-easily-swappable-parameters, + -bugprone-reserved-identifier, + -cppcoreguidelines-non-private-member-variables-in-classes, + -cppcoreguidelines-pro-bounds-constant-array-index, + -cppcoreguidelines-pro-bounds-pointer-arithmetic, + -cppcoreguidelines-pro-type-member-init, + -cert-dcl37-c, + -cert-dcl51-cpp, + -cert-dcl59-cpp, + -google-build-namespaces, + -google-readability-avoid-underscore-in-googletest-name, + -google-readability-todo, + -misc-non-private-member-variables-in-classes, + -modernize-avoid-c-arrays, + -modernize-pass-by-value, + -modernize-use-nodiscard, + -modernize-use-trailing-return-type, + -readability-identifier-length, + -readability-simplify-boolean-expr, + -readability-use-anyofallof, +' + +# We treat all warnings as errors except for these few. +# Some of these exceptions like 'google-build-using-namespace' +# we should be able to manually fix project-wide and then +# remove from the omissions list. +WarningsAsErrors: ' + *, + -bugprone-unchecked-optional-access, + -bugprone-unhandled-self-assignment, + -clang-analyzer-core.UndefinedBinaryOperatorResult, + -clang-analyzer-cplusplus.NewDeleteLeaks, + -clang-analyzer-optin.performance.Padding, + -cert-err58-cpp, + -cert-oop54-cpp, + -cppcoreguidelines-avoid-non-const-global-variables, + -cppcoreguidelines-avoid-magic-numbers, + -cppcoreguidelines-c-copy-assignment-signature, + -cppcoreguidelines-no-malloc, + -cppcoreguidelines-owning-memory, + -cppcoreguidelines-pro-type-cstyle-cast, + -cppcoreguidelines-pro-type-reinterpret-cast, + -cppcoreguidelines-special-member-functions, + -google-build-using-namespace, + -google-global-names-in-headers, + -google-readability-casting, + -misc-definitions-in-headers, + -misc-no-recursion, + -misc-unconventional-assign-operator, + -modernize-return-braced-init-list, + -performance-unnecessary-value-param, + -readability-function-cognitive-complexity, + -readability-magic-numbers, +' + +# Notes on specific Checks and WarningsAsErrors +# +# These checks rename our cbinds and consts that have `__` in the name: +# -bugprone-reserved-identifier, +# -cert-dcl37-c, +# -cert-dcl51-cpp, +# `any_of/all_of` loops are not objectively more readable: +# -readability-use-anyofallof, +# Will need to refactor our usage of `malloc/free` with `gsl::owner`: +# -cppcoreguidelines-owning-memory, +# Flags way too many functions: +# -bugprone-easily-swappable-parameters, +# We use anon namespaces to import types: +# -google-build-namespaces, +# -cert-dcl59-cpp, +# Not sure we want to use trailing return type: +# -modernize-use-trailing-return-type, +# Buggy in clang-tidy 15.0.6: +# -modernize-use-nodiscard, +# ^ TODO(david): re-enable if we move to newer clang version +# We use c-arrays in low-level code logic relating to c_bind: +# -modernize-avoid-c-arrays, +# This was changing code in ways that made it harder to follow: +# -modernize-pass-by-value, +# ^ TODO(david) we probably want to re-enable this one +# We like (a == true) in circuits: +# -readability-simplify-boolean-expr, +# We have a lot of one-letter variable names...: +# -readability-identifier-length, +# All of our tests use underscores in names: +# -google-readability-avoid-underscore-in-googletest-name, +# All of our circuit structs have non-private members: +# -misc-non-private-member-variables-in-classes, +# -cppcoreguidelines-non-private-member-variables-in-classes, +# We have many `for` loops that violate this part of the bounds safety profile +# -cppcoreguidelines-pro-bounds-constant-array-index, +# Many hits potential for false positives: +# -cppcoreguidelines-pro-type-member-init, +# Triggers on some tests that are not complex. We should re-enable this for tests: +# -readability-function-cognitive-complexity, +# Triggers for globals in tests and TEST macros +# -cert-err58-cpp, +# Useful but check is buggy in clang-tidy 15.0.6: +# -misc-const-correctness, +# ^ TODO(david): re-evaluate whether this one should be included here +# its auto-fixes are buggy +# if disabled, re-enable if fixed in newer clang version +# +# We should be able to fix: +# -google-build-using-namespace, # using whole::namespace; is bad +# -google-readability-todo, # the auto-fix for this inputs current user's name for all +# -cppcoreguidelines-avoid-magic-numbers, # we shouldn't use magic numbers! +# -readability-magic-numbers, + +HeaderFilterRegex: 'src/aztec3/' +FormatStyle: file \ No newline at end of file diff --git a/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-tidy b/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-tidy index 6064bc941c4..01aa766b424 100644 --- a/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-tidy +++ b/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-tidy @@ -2,17 +2,17 @@ FROM alpine:3.17 AS builder RUN apk update \ && apk upgrade \ && apk add --no-cache \ - build-base \ - clang15 \ - clang15-extra-tools \ - openmp-dev \ - cmake \ - ninja \ - git \ - curl \ - perl \ - bash \ - python3 + build-base \ + clang15 \ + clang15-extra-tools \ + openmp-dev \ + cmake \ + ninja \ + git \ + curl \ + perl \ + bash \ + python3 WORKDIR /usr/src/circuits/cpp @@ -20,4 +20,4 @@ COPY . . # Configure cmake and check if code is tidy RUN cmake --preset default -RUN ./scripts/tidy.sh fix \ No newline at end of file +RUN ./scripts/tidy.sh fix From cf6be2e460512bc7260c5b225f2eaa3962deb70f Mon Sep 17 00:00:00 2001 From: ludamad Date: Fri, 28 Jul 2023 18:58:12 -0400 Subject: [PATCH 5/7] Update .clang-tidy.slow --- circuits/cpp/.clang-tidy.slow | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/circuits/cpp/.clang-tidy.slow b/circuits/cpp/.clang-tidy.slow index a599734df81..60cbb30315f 100644 --- a/circuits/cpp/.clang-tidy.slow +++ b/circuits/cpp/.clang-tidy.slow @@ -1,3 +1,5 @@ +# Disabled until #1152 is fully investigated (why this took 15 minutes in CI) + # Note there is some overlap between this file and .clangd # .clangd has no concept of warnings versus errors, but since it # won't actually fail/error (since its really just an LSP for @@ -134,4 +136,4 @@ WarningsAsErrors: ' # -readability-magic-numbers, HeaderFilterRegex: 'src/aztec3/' -FormatStyle: file \ No newline at end of file +FormatStyle: file From 1aed0eaf7a89d98b8ba24a1b97d0af3cd9341154 Mon Sep 17 00:00:00 2001 From: ludamad Date: Fri, 28 Jul 2023 18:58:37 -0400 Subject: [PATCH 6/7] Update .clang-tidy --- circuits/cpp/.clang-tidy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circuits/cpp/.clang-tidy b/circuits/cpp/.clang-tidy index 03916258df4..cd140f4d0e6 100644 --- a/circuits/cpp/.clang-tidy +++ b/circuits/cpp/.clang-tidy @@ -12,7 +12,7 @@ # So, it needs to omit certain checks or keep them as warnings only # if they are too strict. -# TODO(AD): Picking a limited subset for now, pending a deeper dive into the performance issues. +# TODO(AD): Picking a limited subset for now, pending a deeper dive into the performance issues. See #1152. Checks: ' clang-analyzer-apiModeling.Errno clang-analyzer-apiModeling.StdCLibraryFunctions From 06e012cff03a5ba011da3cc0f4bf4086fb0e7525 Mon Sep 17 00:00:00 2001 From: ludamad Date: Mon, 31 Jul 2023 14:06:08 -0400 Subject: [PATCH 7/7] revert accidental format --- .../Dockerfile.x86_64-linux-clang-tidy | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-tidy b/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-tidy index 01aa766b424..6064bc941c4 100644 --- a/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-tidy +++ b/circuits/cpp/dockerfiles/Dockerfile.x86_64-linux-clang-tidy @@ -2,17 +2,17 @@ FROM alpine:3.17 AS builder RUN apk update \ && apk upgrade \ && apk add --no-cache \ - build-base \ - clang15 \ - clang15-extra-tools \ - openmp-dev \ - cmake \ - ninja \ - git \ - curl \ - perl \ - bash \ - python3 + build-base \ + clang15 \ + clang15-extra-tools \ + openmp-dev \ + cmake \ + ninja \ + git \ + curl \ + perl \ + bash \ + python3 WORKDIR /usr/src/circuits/cpp @@ -20,4 +20,4 @@ COPY . . # Configure cmake and check if code is tidy RUN cmake --preset default -RUN ./scripts/tidy.sh fix +RUN ./scripts/tidy.sh fix \ No newline at end of file