Author: Piotr Zegar Date: 2023-10-18T16:30:18Z New Revision: 1891d21312cf45f070532bd3709eecf6a0e4f54e
URL: https://github.com/llvm/llvm-project/commit/1891d21312cf45f070532bd3709eecf6a0e4f54e DIFF: https://github.com/llvm/llvm-project/commit/1891d21312cf45f070532bd3709eecf6a0e4f54e.diff LOG: [clang-tidy][DOC] Fix syntax in coroutine-hostile-raii.rst Fix ':4:Title underline too short.' Added: Modified: clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst Removed: ################################################################################ diff --git a/clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst b/clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst index dcb9f399774cba9..f2bafe27f4b8ea3 100644 --- a/clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst +++ b/clang-tools-extra/docs/clang-tidy/checks/misc/coroutine-hostile-raii.rst @@ -1,26 +1,26 @@ .. title:: clang-tidy - misc-coroutine-hostile-raii misc-coroutine-hostile-raii -==================== +=========================== Detects when objects of certain hostile RAII types persists across suspension points in a coroutine. Such hostile types include scoped-lockable types and types belonging to a configurable denylist. -Some objects require that they be destroyed on the same thread that created them. +Some objects require that they be destroyed on the same thread that created them. Traditionally this requirement was often phrased as "must be a local variable", under the assumption that local variables always work this way. However this is incorrect with C++20 coroutines, since an intervening ``co_await`` may cause the coroutine to suspend and later be resumed on another thread. -The lifetime of an object that requires being destroyed on the same thread must +The lifetime of an object that requires being destroyed on the same thread must not encompass a ``co_await`` or ``co_yield`` point. If you create/destroy an object, you must do so without allowing the coroutine to suspend in the meantime. Following types are considered as hostile: - Scoped-lockable types: A scoped-lockable object persisting across a suspension - point is problematic as the lock held by this object could be unlocked by a + point is problematic as the lock held by this object could be unlocked by a diff erent thread. This would be undefined behaviour. This includes all types annotated with the ``scoped_lockable`` attribute. @@ -44,7 +44,7 @@ Options .. option:: RAIITypesList - A semicolon-separated list of qualified types which should not be allowed to + A semicolon-separated list of qualified types which should not be allowed to persist across suspension points. Eg: ``my::lockable; a::b;::my::other::lockable;`` - The default value of this option is `"std::lock_guard;std::scoped_lock"`. \ No newline at end of file + The default value of this option is `"std::lock_guard;std::scoped_lock"`. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits