llvm-project/clang/test
Gor Nishanov 0f33300609 [coroutines] Support coroutine-handle returning await-suspend (i.e symmetric control transfer)
Summary:
If await_suspend returns a coroutine_handle, as in the example below:
```
  coroutine_handle<> await_suspend(coroutine_handle<> h) {
    coro.promise().waiter = h;
    return coro;
  }
```
suspensionExpression processing will resume the coroutine pointed at by that handle.
Related LLVM change rL311751 makes resume calls of this kind `musttail` at any optimization level.

This enables unlimited symmetric control transfer from coroutine to coroutine without blowing up the stack.

Reviewers: GorNishanov

Reviewed By: GorNishanov

Subscribers: rsmith, EricWF, cfe-commits

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

llvm-svn: 311762
2017-08-25 04:46:54 +00:00
..
ARCMT clang/test/ARCMT/remap-applying.c: Use %/s on the command line of echo(1). 2017-04-28 05:02:52 +00:00
ASTMerge Revert r299355 "[ASTImporter] Fix for importing unnamed structs" 2017-04-03 21:06:45 +00:00
Analysis [StaticAnalyzer] LoopUnrolling: Track a LoopStack in order to completely unroll specific loops 2017-08-21 16:32:57 +00:00
CXX [c++2a] Implement P0409R2 - Allow lambda capture [=,this] (by hamzasood) 2017-08-19 03:43:07 +00:00
CodeCompletion Fixed failing assert in code completion. 2017-07-21 09:24:00 +00:00
CodeGen Expose -mllvm -accurate-sample-profile to clang. 2017-08-24 21:37:33 +00:00
CodeGenCUDA CodeGenModule: Always output wchar_size, check LLVM assumptions. 2017-05-20 01:29:55 +00:00
CodeGenCXX [ubsan] PR34266: When sanitizing the 'this' value for a member function that happens to be a lambda call operator, use the lambda's 'this' pointer, not the captured enclosing 'this' pointer (if any). 2017-08-24 20:10:33 +00:00
CodeGenCoroutines [coroutines] Support coroutine-handle returning await-suspend (i.e symmetric control transfer) 2017-08-25 04:46:54 +00:00
CodeGenObjC [ObjC] Use consistent comment style in inline asm 2017-08-21 09:54:46 +00:00
CodeGenObjCXX ObjC++: decorate ObjC interfaces in MSABI properly 2017-08-23 22:38:58 +00:00
CodeGenOpenCL Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
Coverage [Analyzer] Add support for displaying cross-file diagnostic paths in HTML output 2017-08-03 18:12:22 +00:00
CoverageMapping [clang] Get rid of "%T" expansions 2017-08-15 19:47:06 +00:00
Driver Expose -mllvm -accurate-sample-profile to clang. 2017-08-24 21:37:33 +00:00
FixIt [c++2a] Implement P0409R2 - Allow lambda capture [=,this] (by hamzasood) 2017-08-19 03:43:07 +00:00
Format [clang] Get rid of "%T" expansions 2017-08-15 19:47:06 +00:00
Frontend Remove .gitattributes, add comment to lineendings. 2017-08-24 23:25:05 +00:00
Headers Add test that we get the correct calling convention and mangling for va_list. 2017-08-16 01:46:46 +00:00
Import This adds the argument --dump-ir to clang-import-test, which allows 2017-08-07 22:27:30 +00:00
Index Revert r311442 (Fix templated type alias completion when using global completion cache) 2017-08-22 10:54:40 +00:00
Integration Expose -mllvm -accurate-sample-profile to clang. 2017-08-24 21:37:33 +00:00
Layout Print nested name specifiers for typedefs and type aliases 2017-03-10 15:04:58 +00:00
Lexer Add missing test for warning added in r310803. 2017-08-16 00:06:07 +00:00
Misc [diagtool] Add ability to pass in the id and return the name for a 2017-08-03 16:13:13 +00:00
Modules [ODRHash] Diagnose differing template parameters. 2017-08-23 02:43:59 +00:00
OpenMP Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
PCH [clang] Get rid of "%T" expansions 2017-08-15 19:47:06 +00:00
Parser Replace remaining user-visible mentions of C++1z with C++17. 2017-08-13 22:26:53 +00:00
Preprocessor [mips] Introducing option -mabs=[legacy/2008] 2017-08-24 16:06:30 +00:00
Profile [Profile] Do not assign counters to functions without bodies 2017-06-30 21:02:14 +00:00
Rewriter [clang] Remove unit test which uses reverse-iterate flag 2017-08-24 22:40:32 +00:00
Sema Fixups to FE tests affected by D36793 2017-08-24 08:47:26 +00:00
SemaCUDA PR34163: Don't cache an incorrect key function for a class if queried between 2017-08-12 01:46:03 +00:00
SemaCXX Fix up the -Wc++XX-compat warnings to properly handle C++2a. 2017-08-25 02:25:07 +00:00
SemaObjC [ObjC] Check written attributes only when synthesizing ambiguous property 2017-08-22 10:38:07 +00:00
SemaObjCXX Fix errored return value in CheckFunctionReturnType and add a fixit hint 2017-05-10 20:03:16 +00:00
SemaOpenCL Remove -finclude-default-header in OpenCL atomic tests 2017-08-15 16:30:31 +00:00
SemaTemplate Replace remaining user-visible mentions of C++1z with C++17. 2017-08-13 22:26:53 +00:00
TableGen
Tooling [clang-diff] Reformat test, NFC 2017-08-23 16:32:35 +00:00
Unit Change remaining references to lit.util.capture to use subprocess.check_output. 2017-07-06 21:46:47 +00:00
VFS
clang-rename Move ClassReplacements.cpp test from clang-rename tests to the 2017-06-30 16:58:36 +00:00
.clang-format
CMakeLists.txt Clang's tests should depend on clang-diff 2017-07-21 13:12:01 +00:00
TestRunner.sh
cxx-sections.data
lit.cfg Add clang-diff to tool_patterns in test/lit.cfg 2017-08-19 17:52:29 +00:00
lit.site.cfg.in Revert "Revert "[clang-diff] Move the JSON export function to clang-diff"" 2017-08-19 00:57:38 +00:00
make_test_dirs.pl