[Patches] Add variant constexpr support for visit, comparisons and get

Tim Shen timshen@google.com
Sun Nov 27 05:38:00 GMT 2016


This 4-patch series contains the following in order:

a.diff: Remove uses-allocator ctors. They are going away, and removing
it reduces the maintenance burden from now on.

b.diff: Add constexpr support for get<> and comparisons. This patch
also involves small refactoring of _Variant_storage.

c.diff: Fix some libc++ test failures.

d.diff: Add constexpr support for visit. This patch also removes
__storage, __get_alternative, and __reserved_type_map, since we don't
need to support reference/void types for now.

The underlying design doesn't change - we still use the vtable
approach to achieve O(1) runtime cost even under -O0.

Bootstrapped and tested for each of them.

Thanks!


-- 
Regards,
Tim Shen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: a.diff
Type: text/x-patch
Size: 10514 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20161127/35d36e57/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: b.diff
Type: text/x-patch
Size: 28546 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20161127/35d36e57/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: c.diff
Type: text/x-patch
Size: 10854 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20161127/35d36e57/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: d.diff
Type: text/x-patch
Size: 19759 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20161127/35d36e57/attachment-0003.bin>


More information about the Libstdc++ mailing list