forked from OSchip/llvm-project
ec117158a3
Now in libcxx and clang, all the coroutine components are defined in std::experimental namespace. And now the coroutine TS is merged into C++20. So in the working draft like N4892, we could find the coroutine components is defined in std namespace instead of std::experimental namespace. And the coroutine support in clang seems to be relatively stable. So I think it may be suitable to move the coroutine component into the experiment namespace now. This patch would make clang lookup coroutine_traits in std namespace first. For the compatibility consideration, clang would lookup in std::experimental namespace if it can't find definitions in std namespace. So the existing codes wouldn't be break after update compiler. And in case the compiler found std::coroutine_traits and std::experimental::coroutine_traits at the same time, it would emit an error for it. The support for looking up std::experimental::coroutine_traits would be removed in Clang16. Reviewed By: lxfind, Quuxplusone Differential Revision: https://reviews.llvm.org/D108696 |
||
---|---|---|
.. | ||
Inputs | ||
abspath.cpp | ||
block-storage-starts-region.m | ||
branch-constfolded.cpp | ||
branch-logical-mixed.cpp | ||
branch-macros.cpp | ||
branch-mincounters.cpp | ||
branch-templates.cpp | ||
break.c | ||
builtinmacro.c | ||
casts.c | ||
classtemplate.cpp | ||
comment-in-macro.c | ||
comment.cpp | ||
continue.c | ||
control-flow-macro.c | ||
coroutine.cpp | ||
decl.c | ||
default-method.cpp | ||
empty-destructor.cpp | ||
header.cpp | ||
if.cpp | ||
implicit-def-in-macro.m | ||
include-macros.c | ||
includehell.cpp | ||
ir.c | ||
label.cpp | ||
lambda.cpp | ||
logical.cpp | ||
loopmacro.c | ||
loops.cpp | ||
macro-expansion.c | ||
macro-expressions.cpp | ||
macro-stringize-twice.cpp | ||
macroception.c | ||
macroparams.c | ||
macroparams2.c | ||
macros.c | ||
macroscopes.cpp | ||
md.cpp | ||
moremacros.c | ||
nestedclass.cpp | ||
objc.m | ||
openmp.c | ||
pr32679.cpp | ||
preprocessor.c | ||
return.c | ||
switch.cpp | ||
switchmacro.c | ||
system_macro.cpp | ||
templates.cpp | ||
terminate-statements.cpp | ||
test.c | ||
trycatch.cpp | ||
trymacro.cpp | ||
unreachable-macro.c | ||
unused_function.cpp | ||
unused_names.c | ||
while.c |