Revert r338455 "[constexpr] Support for constant evaluation of __builtin_memcpy and...
authorHans Wennborg <hans@hanshq.net>
Wed, 1 Aug 2018 17:51:23 +0000 (17:51 +0000)
committerHans Wennborg <hans@hanshq.net>
Wed, 1 Aug 2018 17:51:23 +0000 (17:51 +0000)
commit6bd4f924e738d3fc925d9d0f624f116a1ba5b210
tree775f196d46d003aa94d93c95395b3df89a2420bd
parente981ce04c31e7acddbd2b9558ad459ce552039d4
Revert r338455 "[constexpr] Support for constant evaluation of __builtin_memcpy and __builtin_memmove (in non-type-punning cases)."

It caused asserts during Chromium builds, see reply on the cfe-commits thread.

> This is intended to permit libc++ to make std::copy etc constexpr
> without sacrificing the optimization that uses memcpy on
> trivially-copyable types.
>
> __builtin_strcpy and __builtin_wcscpy are not handled by this change.
> They'd be straightforward to add, but we haven't encountered a need for
> them just yet.

llvm-svn: 338602
clang/include/clang/Basic/Builtins.def
clang/include/clang/Basic/DiagnosticASTKinds.td
clang/lib/AST/ExprConstant.cpp
clang/test/CodeGen/builtin-memfns.c
clang/test/SemaCXX/constexpr-string.cpp