diff options
author | Hans Wennborg <hans@hanshq.net> | 2018-08-01 17:51:23 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2018-08-01 17:51:23 +0000 |
commit | db9b7f32ca3b6dc7f576b8e75834fb6277c01a19 (patch) | |
tree | f7fd630434805edba6273c4a6fffd794c82fdfee /include/clang/Basic/DiagnosticASTKinds.td | |
parent | fe1098c84823b8eac46b0bfffc5f5788b6c26d1a (diff) |
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.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@338602 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/DiagnosticASTKinds.td')
-rw-r--r-- | include/clang/Basic/DiagnosticASTKinds.td | 14 |
1 files changed, 0 insertions, 14 deletions
diff --git a/include/clang/Basic/DiagnosticASTKinds.td b/include/clang/Basic/DiagnosticASTKinds.td index 3358fc3d70..587254367b 100644 --- a/include/clang/Basic/DiagnosticASTKinds.td +++ b/include/clang/Basic/DiagnosticASTKinds.td @@ -163,20 +163,6 @@ def note_constexpr_unsupported_unsized_array : Note< def note_constexpr_unsized_array_indexed : Note< "indexing of array without known bound is not allowed " "in a constant expression">; -def note_constexpr_memcpy_type_pun : Note< - "cannot constant evaluate '%select{memcpy|memmove}0' from object of " - "type %1 to object of type %2">; -def note_constexpr_memcpy_nontrivial : Note< - "cannot constant evaluate '%select{memcpy|memmove}0' between objects of " - "non-trivially-copyable type %1">; -def note_constexpr_memcpy_overlap : Note< - "'%select{memcpy|wmemcpy}0' between overlapping memory regions">; -def note_constexpr_memcpy_unsupported : Note< - "'%select{%select{memcpy|wmemcpy}1|%select{memmove|wmemmove}1}0' " - "not supported: %select{" - "size to copy (%4) is not a multiple of size of element type %3 (%5)|" - "source is not a contiguous array of at least %4 elements of type %3|" - "destination is not a contiguous array of at least %4 elements of type %3}2">; def warn_integer_constant_overflow : Warning< "overflow in expression; result is %0 with type %1">, |