Extend support for std::move etc to also cover std::as_const and
authorRichard Smith <richard@metafoo.co.uk>
Fri, 15 Apr 2022 21:45:30 +0000 (14:45 -0700)
committerRichard Smith <richard@metafoo.co.uk>
Fri, 15 Apr 2022 23:31:39 +0000 (16:31 -0700)
commitfc3090109643af8d2da9822d0f99c84742b9c877
treef1a1220ac0748e295b376981473373d8b24b694e
parent9e7eef9989d365214b2b62be630d0bc9d9e94968
Extend support for std::move etc to also cover std::as_const and
std::addressof, plus the libstdc++-specific std::__addressof.

This brings us to parity with the corresponding GCC behavior.

Remove STDBUILTIN macro that ended up not being used.
12 files changed:
clang/include/clang/Basic/Builtins.def
clang/include/clang/Basic/DiagnosticSemaKinds.td
clang/lib/AST/ExprConstant.cpp
clang/lib/Analysis/BodyFarm.cpp
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/Sema/SemaChecking.cpp
clang/lib/Sema/SemaDecl.cpp
clang/test/Analysis/inner-pointer.cpp
clang/test/CodeGenCXX/builtin-std-move.cpp
clang/test/CodeGenCXX/builtins.cpp
clang/test/SemaCXX/builtin-std-move.cpp
clang/unittests/Analysis/ExprMutationAnalyzerTest.cpp