Erik Pilkington
29c3a3c9ec
[C++2a] Add __builtin_bit_cast, used to implement std::bit_cast
...
This commit adds a new builtin, __builtin_bit_cast(T, v), which performs a
bit_cast from a value v to a type T. This expression can be evaluated at
compile time under specific circumstances.
The compile time evaluation currently doesn't support bit-fields, but I'm
planning on fixing this in a follow up (some of the logic for figuring this out
is in CodeGen). I'm also planning follow-ups for supporting some more esoteric
types that the constexpr evaluator supports, as well as extending
__builtin_memcpy constexpr evaluation to use the same infrastructure.
rdar://44987528
Differential revision: https://reviews.llvm.org/D62825
llvm-svn: 364954
2019-07-02 18:28:13 +00:00
..
2019-07-02 15:42:37 +00:00
2019-06-28 03:21:00 +00:00
2019-05-13 10:10:24 +00:00
2019-01-19 08:50:56 +00:00
2019-03-20 17:42:00 +00:00
2019-06-15 10:24:47 +00:00
2019-07-02 18:28:13 +00:00
2019-01-19 08:50:56 +00:00
2019-06-14 13:45:21 +00:00
2019-05-30 12:57:04 +00:00
2019-06-07 12:42:54 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-17 15:38:27 +00:00
2019-01-19 08:50:56 +00:00
2019-04-17 15:38:27 +00:00
2019-01-19 08:50:56 +00:00
2019-06-15 10:09:59 +00:00
2019-01-19 08:50:56 +00:00
2019-04-21 06:17:40 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-08 12:31:12 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-22 23:32:36 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-08 12:31:12 +00:00
2019-01-19 08:50:56 +00:00
2019-06-24 23:45:18 +00:00
2019-01-19 08:50:56 +00:00
2018-10-23 21:51:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-27 15:33:22 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-19 23:47:24 +00:00
2019-05-20 20:53:05 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-11 00:05:36 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 10:56:40 +00:00
2019-01-19 08:50:56 +00:00
2019-04-25 12:51:42 +00:00
2019-04-12 18:18:08 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2018-09-05 00:08:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2018-05-01 15:54:18 +00:00
2019-05-20 20:53:05 +00:00
2019-05-08 02:11:07 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-25 11:33:30 +00:00
2019-06-11 16:42:42 +00:00
2019-01-19 08:50:56 +00:00
2019-02-27 03:21:50 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-24 02:40:20 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2018-04-02 13:49:35 +00:00
2018-07-26 15:31:41 +00:00
2017-10-26 20:23:11 +00:00
2018-07-30 19:41:25 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2017-12-13 21:30:58 +00:00
2019-01-19 08:50:56 +00:00
2019-04-15 22:07:56 +00:00
2019-02-19 18:18:31 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-21 05:40:31 +00:00
2019-01-19 08:50:56 +00:00
2019-04-23 14:51:27 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-14 00:33:31 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-25 12:51:42 +00:00
2019-03-22 23:11:08 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-05-30 12:57:04 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2018-02-21 22:36:31 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-05-22 11:20:52 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2018-07-31 18:04:58 +00:00
2019-01-19 08:50:56 +00:00
2019-04-25 09:59:55 +00:00
2019-03-27 16:54:12 +00:00