Erik Pilkington
eee944e7f9
[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-06-15 10:24:47 +00:00
2019-01-19 08:50:56 +00:00
2019-06-26 21:16:51 +00:00
2019-05-07 03:20:17 +00:00
2019-05-27 14:34:31 +00:00
2019-07-01 15:37:07 +00:00
2019-06-11 13:35:25 +00:00
2019-07-02 07:36:39 +00:00
2019-03-27 14:14:31 +00:00
2019-01-19 08:50:56 +00:00
2019-06-19 20:51:35 +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-01-19 08:50:56 +00:00
2019-03-31 08:48:19 +00:00
2019-01-19 08:50:56 +00:00
2019-06-20 20:44:45 +00:00
2019-06-14 20:01:51 +00:00
2019-06-06 23:24:15 +00:00
2019-06-20 20:44:45 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-24 14:43:05 +00:00
2019-03-12 18:52:33 +00:00
2019-06-14 20:01:51 +00:00
2019-05-02 00:49:14 +00:00
2019-07-02 18:28:13 +00:00
2019-07-02 18:28:13 +00:00
2019-07-02 18:28:13 +00:00
2019-05-21 20:10:50 +00:00
2019-04-12 15:36:02 +00:00
2019-05-15 10:29:48 +00:00
2019-01-19 08:50:56 +00:00
2019-01-29 20:49:54 +00:00
2018-12-01 22:16:27 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-07-02 18:28:13 +00:00
2019-06-24 20:07:11 +00:00
2019-01-19 08:50:56 +00:00
2019-06-20 06:01:06 +00:00
2019-01-19 08:50:56 +00:00
2019-06-04 23:27:40 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-28 17:42:17 +00:00
2019-03-27 14:14:31 +00:00
2018-11-06 07:05:14 +00:00
2019-01-19 08:50:56 +00:00
2019-01-29 20:49:54 +00:00
2019-03-15 11:09:41 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-20 20:44:45 +00:00
2019-01-29 20:49:54 +00:00
2019-01-19 08:50:56 +00:00
2019-06-03 15:57: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
2019-03-20 16:32:36 +00:00
2019-07-02 18:28:13 +00:00
2019-07-02 18:28:13 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-05-09 03:31:27 +00:00
2019-06-20 15:10:45 +00:00
2019-05-30 17:31:54 +00:00
2019-01-19 08:50:56 +00:00
2019-06-05 17:29:00 +00:00
2019-04-24 14:43:05 +00:00
2019-01-19 08:50:56 +00:00