<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in coroutine-final-suspend-noexcept.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>4f4340ee - [NFC] [Coroutines] Refactor implementation in checkFinalSuspendNoThrow</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp#4f4340ee</link>
        <description>[NFC] [Coroutines] Refactor implementation in checkFinalSuspendNoThrowNow when we are checking if the expression `co_awaitpromise.final_suspend()` is not throw, we would check unconditionallyfor its child expressions recursively. It takes unnecessary time. Andthe compiler would complains if the implementation in final_suspend()may throw even if the higher level function signature marked noexceptalready.This fixes bug48453 too.

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp</description>
        <pubDate>Fri, 14 Jan 2022 07:37:01 +0000</pubDate>
        <dc:creator>Chuanqi Xu &lt;yedeng.yd@linux.alibaba.com&gt;</dc:creator>
    </item>
<item>
        <title>ec117158 - [Coroutines] [Frontend] Lookup in std namespace first</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp#ec117158</link>
        <description>[Coroutines] [Frontend] Lookup in std namespace firstNow in libcxx and clang, all the coroutine components are defined instd::experimental namespace.And now the coroutine TS is merged into C++20. So in the working draftlike N4892, we could find the coroutine components is defined in stdnamespace instead of std::experimental namespace.And the coroutine support in clang seems to be relatively stable. So Ithink it may be suitable to move the coroutine component into theexperiment namespace now.This patch would make clang lookup coroutine_traits in std namespacefirst. For the compatibility consideration, clang would lookup instd::experimental namespace if it can&apos;t find definitions in stdnamespace. So the existing codes wouldn&apos;t be break after updatecompiler.And in case the compiler found std::coroutine_traits andstd::experimental::coroutine_traits at the same time, it would emit anerror for it.The support for looking up std::experimental::coroutine_traits would beremoved in Clang16.Reviewed By: lxfind, QuuxplusoneDifferential Revision: https://reviews.llvm.org/D108696

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp</description>
        <pubDate>Thu, 04 Nov 2021 03:50:30 +0000</pubDate>
        <dc:creator>Chuanqi Xu &lt;yedeng.yd@linux.alibaba.com&gt;</dc:creator>
    </item>
<item>
        <title>79f8b5f0 - Revert &quot;[Coroutines] [Clang] Look up coroutine component in std namespace first&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp#79f8b5f0</link>
        <description>Revert &quot;[Coroutines] [Clang] Look up coroutine component in std namespace first&quot;This reverts commit 2fbd254aa46b, which broke the libc++ CI. I&apos;m revertingto get things stable again until we&apos;ve figured out a way forward.Differential Revision: https://reviews.llvm.org/D108696

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp</description>
        <pubDate>Fri, 03 Sep 2021 20:01:09 +0000</pubDate>
        <dc:creator>Louis Dionne &lt;ldionne.2@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>2fbd254a - [Coroutines] [Clang] Look up coroutine component in std namespace first</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp#2fbd254a</link>
        <description>[Coroutines] [Clang] Look up coroutine component in std namespace firstSummary: Now in libcxx and clang, all the coroutine components aredefined in std::experimental namespace.And now the coroutine TS is merged into C++20. So in the working draftlike N4892, we could find the coroutine components is defined in stdnamespace instead of std::experimental namespace.And the coroutine support in clang seems to be relatively stable. So Ithink it may be suitable to move the coroutine component into theexperiment namespace now.But move the coroutine component into the std namespace may be an breakchange. So I planned to split this change into two patch. One in clangand other in libcxx.This patch would make clang lookup coroutine_traits in std namespacefirst. For the compatibility consideration, clang would lookup instd::experimental namespace if it can&apos;t find definitions in stdnamespace and emit a warning in this case. So the existing codeswouldn&apos;t be break after update compiler.Test Plan: check-clang, check-libcxxReviewed By: lxfindDifferential Revision: https://reviews.llvm.org/D108696

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp</description>
        <pubDate>Fri, 03 Sep 2021 02:22:53 +0000</pubDate>
        <dc:creator>Chuanqi Xu &lt;yedeng.yd@linux.alibaba.com&gt;</dc:creator>
    </item>
<item>
        <title>c25acec8 - [Coroutines] Handle dependent promise types for final_suspend non-throw check</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp#c25acec8</link>
        <description>[Coroutines] Handle dependent promise types for final_suspend non-throw checkSummary:Check that the co_await promise.final_suspend() does not potentially throw again after we have resolved dependent types.This takes care of the cases where promises types are templated.Added test cases for this scenario and confirmed that the checks happen now.Also run libcxx tests locally to make sure all tests pass.Reviewers: Benabik, lewissbaker, junparser, modocacheReviewed By: modocacheSubscribers: modocache, cfe-commitsTags: #clangDifferential Revision: https://reviews.llvm.org/D82332

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp</description>
        <pubDate>Mon, 22 Jun 2020 21:38:41 +0000</pubDate>
        <dc:creator>Xun Li &lt;xun@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>516803dc - [Coroutines] Ensure co_await promise.final_suspend() does not throw</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp#516803dc</link>
        <description>[Coroutines] Ensure co_await promise.final_suspend() does not throwSummary:This patch addresses https://bugs.llvm.org/show_bug.cgi?id=46256The spec of coroutine requires that the expression co_&#173;await promise.final_&#173;suspend() shall not be potentially-throwing.To check this, we recursively look at every call (including Call, MemberCall, OperatorCall and Constructor) in all codegenerated by the final suspend, and ensure that the callees are declared with noexcept. We also look at any returned datatype that requires explicit destruction, and check their destructors for noexcept.This patch does not check declarations with dependent types yet, which will be done in future patches.Updated all tests to add noexcept to the required functions, and added a dedicated test for this patch.This patch might start to cause existing codebase fail to compile because most people may not have been strict in taggingall the related functions noexcept.Reviewers: lewissbaker, modocache, junparserReviewed By: modocacheSubscribers: arphaman, junparser, cfe-commitsTags: #clangDifferential Revision: https://reviews.llvm.org/D82029

            List of files:
            /llvm-project-15.0.7/clang/test/SemaCXX/coroutine-final-suspend-noexcept.cpp</description>
        <pubDate>Mon, 15 Jun 2020 23:27:41 +0000</pubDate>
        <dc:creator>Xun Li &lt;xun@fb.com&gt;</dc:creator>
    </item>
</channel>
</rss>
