aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Sema/SemaModule.cpp
diff options
context:
space:
mode:
authorChuanqi Xu <yedeng.yd@linux.alibaba.com>2022-02-08 11:42:38 +0800
committerChuanqi Xu <yedeng.yd@linux.alibaba.com>2022-02-08 11:43:42 +0800
commite39ba0461757339f7172f6bc3882f41116bb7c13 (patch)
tree52a8cdf6e02805d1a7d1b3e7df6e8659ee6c6af9 /clang/lib/Sema/SemaModule.cpp
parent7889ff7f0008500710fd84838b66d5022c7acb2a (diff)
downloadllvm-e39ba0461757339f7172f6bc3882f41116bb7c13.zip
llvm-e39ba0461757339f7172f6bc3882f41116bb7c13.tar.gz
llvm-e39ba0461757339f7172f6bc3882f41116bb7c13.tar.bz2
[C++20] [Coroutines] Warning for always_inline coroutine
See the discussion in https://reviews.llvm.org/D100282. The coroutine marked always inline might not be inlined properly in current compiler support. Since the coroutine would be splitted into pieces. And the call to resume() and destroy() functions might be indirect call. Also the ramp function wouldn't get inlined under O0 due to pipeline ordering problems. It might be different to what users expects to. Emit a warning to tell it. This is what GCC does too: https://godbolt.org/z/7eajb1Gf8 Reviewed By: Quuxplusone Differential Revision: https://reviews.llvm.org/D115867
Diffstat (limited to 'clang/lib/Sema/SemaModule.cpp')
0 files changed, 0 insertions, 0 deletions