diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2018-10-02 15:00:50 +0100 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2018-10-02 15:00:50 +0100 |
commit | 469218a3f9b8f72b38d82dd978ec231ab3de14ef (patch) | |
tree | a69a6ba487c13ad4ce8f595f485a8f2f0daefdf1 /gcc/builtins.c | |
parent | f512bf3ee95914b30ba67f80ca42a72ec630738f (diff) | |
download | gcc-469218a3f9b8f72b38d82dd978ec231ab3de14ef.zip gcc-469218a3f9b8f72b38d82dd978ec231ab3de14ef.tar.gz gcc-469218a3f9b8f72b38d82dd978ec231ab3de14ef.tar.bz2 |
Avoid redundant runtime checks in std::visit
Calling std::get will check some static assertions and also do a runtime
check for a valid index before calling __detail::__variant::__get. The
std::visit function already handles the case where any variant has an
invalid index, so __get can be used directly in __visit_invoke.
* include/std/variant (__gen_vtable_impl::__visit_invoke): Call __get
directly instead of get, as caller ensures correct index is used.
(holds_alternative, get, get_if): Remove redundant inline specifiers.
(_VARIANT_RELATION_FUNCTION_TEMPLATE): Likewise.
From-SVN: r264786
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions