[clang-tools-extra] [clang-tidy] Deprecate 'zircon' module (PR #162012)

via cfe-commits cfe-commits at lists.llvm.org
Sun Oct 5 06:17:37 PDT 2025


================
@@ -0,0 +1,53 @@
+.. title:: clang-tidy - fuchsia-temporary-objects
+
+fuchsia-temporary-objects
+=========================
+
+Warns on construction of specific temporary objects in the Zircon kernel.
+If the object should be flagged, the fully qualified type name must be
+explicitly passed to the check.
+
+For example, given the list of classes "Foo" and "NS::Bar", all of the
+following will trigger the warning:
+
+.. code-block:: c++
+
+  Foo();
+  Foo F = Foo();
+  func(Foo());
+
+  namespace NS {
+
+  Bar();
+
+  }
+
+With the same list, the following will not trigger the warning:
+
+.. code-block:: c++
+
+  Foo F;                 // Non-temporary construction okay
+  Foo F(param);          // Non-temporary construction okay
+  Foo *F = new Foo();    // New construction okay
+
+  Bar();                 // Not NS::Bar, so okay
+  NS::Bar B;             // Non-temporary construction okay
+
+Note that objects must be explicitly specified in order to be flagged,
+and so objects that inherit a specified object will not be flagged.
+
+This check matches temporary objects without regard for inheritance and so a
+prohibited base class type does not similarly prohibit derived class types.
+
+.. code-block:: c++
+
+  class Derived : Foo {} // Derived is not explicitly disallowed
+  Derived();             // and so temporary construction is okay
+
+Options
+-------
+
+.. option:: Names
+
+   A semi-colon-separated list of fully-qualified names of C++ classes that
+   should not be constructed as temporaries. Default is empty.
----------------
EugeneZelenko wrote:

```suggestion
   should not be constructed as temporaries. Default is empty string.
```

https://github.com/llvm/llvm-project/pull/162012


More information about the cfe-commits mailing list