summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErwin Jansen <jansene@google.com>2024-03-26 07:40:41 -0700
committerErwin Jansen <jansene@google.com>2024-03-26 07:42:19 -0700
commit5e7dfe49b89d270019bffa02a5f5929a0c4b628f (patch)
tree0941ede8149abc4b1813521da46c6cbad11b7259
parentcac7161a5cb814459dc1587c452ba91fd3da5c65 (diff)
downloadgoldfish-5e7dfe49b89d270019bffa02a5f5929a0c4b628f.tar.gz
Add .clang-tidy and .gitignore
This imports the clang-tidy settings from emu-master-dev. Change-Id: Id24dcb606d3bd704f4f1313c8c57e6c9307848f1
-rw-r--r--.clang-tidy130
-rw-r--r--.gitignore2
2 files changed, 132 insertions, 0 deletions
diff --git a/.clang-tidy b/.clang-tidy
new file mode 100644
index 0000000..f5694ee
--- /dev/null
+++ b/.clang-tidy
@@ -0,0 +1,130 @@
+---
+# Note on checks are disabled on purpose
+#
+# - abseil-no-namespace
+# https://bugs.llvm.org/show_bug.cgi?id=47947
+#
+# - bugprone-reserved-identifier
+# Some macros need to be defined for portability purpose; e.g. _BSD_SOURCE.
+#
+# - google-upgrade-googletest-case
+# This requires googletest 1.10 which is higher than ones installed on many linux distributions.
+#
+# - modernize-redundant-void-arg
+# Some source should be strictly C99 and func(void) should be used.
+#
+# Note on checks which will be enabled in future. These are good to have but
+# it's not activated yet due to the existing issues with the checks.
+# Once those issues are clear, these checks can be enabled later.
+#
+# - bugprone-branch-clone
+# - bugprone-infinite-loop
+# - bugprone-narrowing-conversions
+# - bugprone-not-null-terminated-result
+# - bugprone-signed-char-misuse
+# - bugprone-sizeof-expression
+# - bugprone-too-small-loop-variable
+# - clang-diagnostic-deprecated-declarations
+# - clang-diagnostic-unused-function
+# - google-readability-avoid-underscore-in-googletest-name
+# - google-runtime-int
+# - google-runtime-references
+# - modernize-avoid-bind
+# - modernize-deprecated-headers
+# - modernize-loop-convert
+# - modernize-pass-by-value
+# - modernize-raw-string-literal
+# - modernize-return-braced-init-list
+# - modernize-use-auto
+# - modernize-use-default-member-init
+# - modernize-use-emplace
+# - modernize-use-equals-default
+# - modernize-use-equals-delete
+# - modernize-use-using
+# - performance-no-automatic-move
+# - performance-unnecessary-copy-initialization
+# - performance-unnecessary-value-param
+# - readability-else-after-return
+# - readability-implicit-bool-conversion
+# - readability-redundant-declaration
+#
+Checks: '-*,
+ abseil-*,
+ -abseil-no-namespace,
+ bugprone-*,
+ -bugprone-branch-clone,
+ -bugprone-infinite-loop,
+ -bugprone-narrowing-conversions,
+ -bugprone-not-null-terminated-result,
+ -bugprone-reserved-identifier,
+ -bugprone-signed-char-misuse,
+ -bugprone-sizeof-expression,
+ -bugprone-too-small-loop-variable,
+ -bugprone-easily-swappable-parameters,
+ google-*,
+ -google-readability-avoid-underscore-in-googletest-name,
+ -google-runtime-int,
+ -google-runtime-references,
+ -google-upgrade-googletest-case,
+ performance-*,
+ -performance-no-automatic-move,
+ -performance-unnecessary-copy-initialization,
+ -performance-unnecessary-value-param,
+ clang-diagnostic-deprecated-register,
+ clang-diagnostic-expansion-to-defined,
+ clang-diagnostic-ignored-attributes,
+ clang-diagnostic-non-pod-varargs,
+ clang-diagnostic-shadow-field,
+ clang-diagnostic-shift-sign-overflow,
+ clang-diagnostic-tautological-undefined-compare,
+ clang-diagnostic-thread-safety*,
+ clang-diagnostic-undefined-bool-conversion,
+ clang-diagnostic-unreachable-code,
+ clang-diagnostic-unreachable-code-loop-increment,
+ clang-diagnostic-unused-const-variable,
+ clang-diagnostic-unused-lambda-capture,
+ clang-diagnostic-unused-local-typedef,
+ clang-diagnostic-unused-private-field,
+ clang-diagnostic-user-defined-warnings,
+ misc-definitions-in-headers,
+ misc-static-assert,
+ misc-unconventional-assign-operator,
+ misc-uniqueptr-reset-release,
+ misc-unused-alias-decls,
+ misc-unused-using-decls,
+ modernize-make-shared,
+ modernize-make-unique,
+ modernize-replace-auto-ptr,
+ modernize-replace-random-shuffle,
+ modernize-shrink-to-fit,
+ modernize-unary-static-assert,
+ modernize-use-bool-literals,
+ modernize-use-noexcept,
+ modernize-use-nullptr,
+ modernize-use-override,
+ modernize-use-transparent-functors,
+ readability-const-return-type,
+ readability-container-size-empty,
+ readability-delete-null-pointer,
+ readability-deleted-default,
+ readability-function-size,
+ readability-inconsistent-declaration-parameter-name,
+ readability-misleading-indentation,
+ readability-misplaced-array-index,
+ readability-redundant-control-flow,
+ readability-redundant-function-ptr-dereference,
+ readability-redundant-smartptr-get,
+ readability-simplify-boolean-expr,
+ readability-static-definition-in-anonymous-namespace,
+ readability-string-compare,
+ readability-uniqueptr-delete-release'
+WarningsAsErrors: '*'
+CheckOptions:
+ - key: readability-function-size.StatementThreshold
+ value: '450'
+ - key: modernize-make-unique.MakeSmartPtrFunction
+ value: 'absl::make_unique'
+ - key: modernize-make-unique.MakeSmartPtrFunctionHeader
+ value: 'absl/memory/memory.h'
+ - key: google-readability-braces-around-statements.ShortStatementLines
+ value: 1
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..2b23df4
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+.cache
+.vscode