fixup! [M120 Migration] Add new api for webbrowser to get media device list
[platform/framework/web/chromium-efl.git] / .clang-tidy
index 4381dda..03866ef 100644 (file)
@@ -1,10 +1,25 @@
 ---
----
+  # TODO(crbug.com/1282228): reenable google-readability-casting once it no
+  # longer has as many false-positives.
+  # TODO(crbug.com/1406869): reenable modernize-use-default-member-init once
+  # C++20 is everywhere; it recommends using default member init for bit fields,
+  # which is C++20-only.
   Checks:          '-*,
+                    bugprone-argument-comment,
+                    bugprone-assert-side-effect,
+                    bugprone-dangling-handle,
+                    bugprone-inaccurate-erase,
+                    bugprone-string-constructor,
+                    bugprone-string-integer-assignment,
+                    bugprone-undefined-memory-manipulation,
+                    bugprone-unused-raii,
+                    bugprone-use-after-move,
                     google-build-explicit-make-pair,
                     google-explicit-constructor,
-                    google-readability-casting,
+                    misc-misleading-identifier,
+                    misc-homoglyph,
                     modernize-avoid-bind,
+                    modernize-concat-nested-namespaces,
                     modernize-loop-convert,
                     modernize-make-shared,
                     modernize-make-unique,
@@ -12,7 +27,6 @@
                     modernize-replace-random-shuffle,
                     modernize-shrink-to-fit,
                     modernize-use-bool-literals,
-                    modernize-use-default-member-init,
                     modernize-use-emplace,
                     modernize-use-equals-default,
                     modernize-use-equals-delete,
                     modernize-use-transparent-functors,
                     readability-redundant-member-init'
   CheckOptions:
+    - key:          bugprone-assert-side-effect.AssertMacros
+      value:        assert,DCHECK
+    - key:          bugprone-dangling-handle.HandleClasses
+      value:        ::std::basic_string_view;::std::span;::absl::string_view;::base::BasicStringPiece;::base::span
+    - key:          bugprone-string-constructor.StringNames
+      value:        ::std::basic_string;::std::basic_string_view;::base::BasicStringPiece;::absl::string_view
+    - key:          modernize-use-default-member-init.UseAssignment
+      value:        1
+    # crbug.com/1342136, crbug.com/1343915: At times, this check makes
+    # suggestions that break builds. Safe mode allows us to sidestep that.
+    - key:          modernize-use-transparent-functors.SafeMode
+      value:        1
     # This relaxes modernize-use-emplace in some cases; we might want to make it
     # more aggressive in the future. See discussion on
     # https://groups.google.com/a/chromium.org/g/cxx/c/noMMTNYiM0w .
     - key:          modernize-use-emplace.IgnoreImplicitConstructors
       value:        1
+    # crbug.com/1420969, crbug.com/1421042: Tricium's `show fix` button isn't
+    # working, which leads to devs thinking that clang-tidy is suggesting C++20
+    # constructs in some cases. Until fixes can be surfaced to show that
+    # `base::Reversed` is encouraged, just turn reverse ranges off entirely.
+    # TODO(crbug.com/1404958): alternatively, remove these once C++20 is
+    # everywhere.
+    - key:          modernize-loop-convert.UseCxx20ReverseRanges
+      value:        false
 ...
-