llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-tools-extra @llvm/pr-subscribers-clang-tidy Author: Aaron Puchert (aaronpuchert) <details> <summary>Changes</summary> Anchors are automatically generated, but adding another anchor with the same name hides the anchor that we actually want. Simply removing the unnecessary self-referential anchor `lifetimebound` fixes the links. The documentation for coro_disable_lifetimebound and coro_lifetimebound also had an unnecessary redirection. It's possible to change the link text to differ from the heading, but I think that's not necessary here. Also fix a reference in clang-tidy that was using the (unstable) numbered anchor. --- Full diff: https://github.com/llvm/llvm-project/pull/142967.diff 2 Files Affected: - (modified) clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst (+1-1) - (modified) clang/include/clang/Basic/AttrDocs.td (+2-7) ``````````diff diff --git a/clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst b/clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst index ba47399914de3..325a0a2aa9cc2 100644 --- a/clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst +++ b/clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst @@ -42,7 +42,7 @@ on the control flow of the function, an overload where all problematic This issue can also be resolved by adding ``[[clang::lifetimebound]]``. Clang enable ``-Wdangling`` warning by default which can detect mis-uses of the -annotated function. See `lifetimebound attribute <https://clang.llvm.org/docs/AttributeReference.html#id11>`_ +annotated function. See `lifetimebound attribute <https://clang.llvm.org/docs/AttributeReference.html#lifetimebound>`_ for details. .. code-block:: c++ diff --git a/clang/include/clang/Basic/AttrDocs.td b/clang/include/clang/Basic/AttrDocs.td index 40b9f8142bb69..1e7ffec592034 100644 --- a/clang/include/clang/Basic/AttrDocs.td +++ b/clang/include/clang/Basic/AttrDocs.td @@ -4392,8 +4392,6 @@ annotated parameter. addToSet(str, s); // Not detected. } } - -.. _`lifetimebound`: https://clang.llvm.org/docs/AttributeReference.html#lifetimebound }]; } @@ -9038,14 +9036,14 @@ def CoroLifetimeBoundDoc : Documentation { let Category = DocCatDecl; let Content = [{ The ``[[clang::coro_lifetimebound]]`` is a class attribute which can be applied -to a coroutine return type (`CRT`_) (i.e. +to a coroutine return type (`coro_return_type, coro_wrapper`_) (i.e. it should also be annotated with ``[[clang::coro_return_type]]``). All parameters of a function are considered to be lifetime bound if the function returns a coroutine return type (CRT) annotated with ``[[clang::coro_lifetimebound]]``. This lifetime bound analysis can be disabled for a coroutine wrapper or a coroutine by annotating the function with ``[[clang::coro_disable_lifetimebound]]`` function attribute . -See `documentation`_ of ``[[clang::lifetimebound]]`` for details about lifetime bound analysis. +See documentation of `lifetimebound`_ for details about lifetime bound analysis. Reference parameters of a coroutine are susceptible to capturing references to temporaries or local variables. @@ -9105,9 +9103,6 @@ but do not pass them to the underlying coroutine or pass them by value. void use() { auto task = coro_wrapper(1); // use of temporary is fine as the argument is not lifetime bound. } - -.. _`documentation`: https://clang.llvm.org/docs/AttributeReference.html#lifetimebound -.. _`CRT`: https://clang.llvm.org/docs/AttributeReference.html#coro-return-type }]; } `````````` </details> https://github.com/llvm/llvm-project/pull/142967 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits