aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/frontend-passes.c
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2019-08-12 15:54:12 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2019-08-12 15:54:12 +0100
commit6fd4b25b508b55fd3f93d1a9f352d085c175b1f2 (patch)
tree4ba6092d25863aa4f2f429b4a55801aab9b9f876 /gcc/fortran/frontend-passes.c
parentb0dffed9dae9bd2d61292beb13038414270c03e5 (diff)
downloadgcc-6fd4b25b508b55fd3f93d1a9f352d085c175b1f2.zip
gcc-6fd4b25b508b55fd3f93d1a9f352d085c175b1f2.tar.gz
gcc-6fd4b25b508b55fd3f93d1a9f352d085c175b1f2.tar.bz2
Add noexcept-specifier to std::apply and std::make_from_tuple
When unpacking a std::tuple we know that the std::get calls are noexcept, so only the invocation (for std::apply) and construction (for std::make_from_tuple) can throw. We also know the std::get calls won't throw for a std::array, but this patch doesn't specialize the variable template for std::array. For an arbitrary tuple-like type we don't know if the std::get calls will throw, and so just use a potentially-throwing noexcept-specifier. * include/std/tuple (__unpack_std_tuple): New variable template and partial specializations. (apply, make_from_tuple): Add noexcept-specifier. * testsuite/20_util/tuple/apply/2.cc: New test. * testsuite/20_util/tuple/make_from_tuple/2.cc: New test. From-SVN: r274312
Diffstat (limited to 'gcc/fortran/frontend-passes.c')
0 files changed, 0 insertions, 0 deletions