summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/constexpr-string.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Merging r338602:Hans Wennborg2018-08-021-142/+6
| | | | | | | | | | | | | | | | | | | | ------------------------------------------------------------------------ r338602 | hans | 2018-08-01 19:51:23 +0200 (Wed, 01 Aug 2018) | 11 lines 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: 338674
* [constexpr] Support for constant evaluation of __builtin_memcpy andRichard Smith2018-07-311-6/+142
| | | | | | | | | | | | | | __builtin_memmove (in non-type-punning cases). 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: 338455
* [AST] Another attempt at fixing the ARM bots.Benjamin Kramer2018-04-241-3/+3
| | | | llvm-svn: 330690
* [AST] Use a bit of trickery to make test pass on platforms where wchar_t is ↵Benjamin Kramer2018-04-241-3/+5
| | | | | | unsigned. llvm-svn: 330689
* [AST] strcmp/memcmp always compares unsigned chars.Benjamin Kramer2018-04-231-0/+13
| | | | | | | This makes it return the right result in a couple of edge cases. The wide versions always do the comparison on the underlying wchar_t type. llvm-svn: 330656
* P0426: Make the library implementation of constexpr char_traits a little easierRichard Smith2017-01-201-0/+21
| | | | | | | | | by providing a memchr builtin that returns char* instead of void*. Also add a __has_feature flag to indicate the presence of constexpr forms of the relevant <string> functions. llvm-svn: 292555
* Support constant expression evaluation for wchar_t versions of simple stringRichard Smith2016-11-291-4/+99
| | | | | | functions, in order to support constexpr std::char_traits<wchar_t>. llvm-svn: 288193
* [c++1z] Support constant folding for __builtin_strchr and __builtin_memchr.Richard Smith2016-11-121-1/+39
| | | | llvm-svn: 286699
* [c++1z] Add constant-folding support for strcmp, strncmp, and memcmp, toRichard Smith2016-11-111-0/+68
support constexpr char_traits. llvm-svn: 286678
OpenPOWER on IntegriCloud