Go to file
Eric Fiselier da8f9b5b1b [coroutines] Fix fallthrough diagnostics for coroutines
Summary:
This patch fixes a number of issues with the analysis warnings emitted when a coroutine may reach the end of the function w/o returning.

* Fix bug where coroutines with `return_value` are incorrectly diagnosed as missing `co_return`'s.
* Rework diagnostic message to no longer say "non-void coroutine", because that implies the coroutine doesn't have a void return type, which it might. In this case a non-void coroutine is one who's promise type does not contain `return_void()`

As a side-effect of this patch, coroutine bodies that contain an invalid coroutine promise objects are marked as invalid.

Reviewers: GorNishanov, rsmith, aaron.ballman, majnemer

Reviewed By: GorNishanov

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D33532

llvm-svn: 303831
2017-05-25 02:16:53 +00:00
clang [coroutines] Fix fallthrough diagnostics for coroutines 2017-05-25 02:16:53 +00:00
clang-tools-extra Modify test so that it looks for patterns in stderr as well 2017-05-24 10:50:56 +00:00
compiler-rt Allow builds to set COMPILER_RT_OS_DIR differently from CMAKE_SYSTEM_NAME 2017-05-24 22:41:49 +00:00
debuginfo-tests Add additional CHECKs to safestack.c. 2017-04-17 17:57:05 +00:00
libclc math: Implement sinh function 2017-02-25 02:46:53 +00:00
libcxx Add some constexpr tests for optional's move/copy ctor 2017-05-25 00:22:33 +00:00
libcxxabi [Demangler] Remove a failing assert introduced in r303718 2017-05-24 20:53:13 +00:00
libunwind [libunwind] Fix executable stack directive on Linux. 2017-05-16 20:18:57 +00:00
lld Reduce indentation. NFC. 2017-05-24 22:36:11 +00:00
lldb Correct compiler warnings and Debug build of the NetBSD target 2017-05-24 23:59:50 +00:00
llgo benchcomp: Add a mode for analyzing file sizes. 2017-04-03 19:13:12 +00:00
llvm Fixed nondeterminism in RuleMatcher::emit. 2017-05-25 01:51:53 +00:00
openmp Fix for KMP_AFFINITY=respect with multiple processor groups 2017-05-15 19:05:59 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [ScopInfo] Tighten compute out introduced in r303404 2017-05-24 21:24:04 +00:00