diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2018-12-14 21:57:07 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2018-12-14 21:57:07 +0000 |
commit | 3fd156b1bb5bb993e1b614008ac1a0eff58a6953 (patch) | |
tree | 77e52e3c3d115cf199ba4a84a4a0df5ca0f31dbe /gcc/tree-object-size.c | |
parent | 06553c89f521477d6c3ec4023d5162f90c57111d (diff) | |
download | gcc-3fd156b1bb5bb993e1b614008ac1a0eff58a6953.zip gcc-3fd156b1bb5bb993e1b614008ac1a0eff58a6953.tar.gz gcc-3fd156b1bb5bb993e1b614008ac1a0eff58a6953.tar.bz2 |
[PR c++/87814] undefer deferred noexcept on tsubst if request
tsubst_expr and tsubst_copy_and_build are not expected to handle
DEFERRED_NOEXCEPT exprs, but if tsubst_exception_specification takes a
DEFERRED_NOEXCEPT expr with !defer_ok, it just passes the expr on for
tsubst_copy_and_build to barf.
This patch arranges for tsubst_exception_specification to combine the
incoming args with those already stored in a DEFERRED_NOEXCEPT, and
then substitute them into the pattern, when retaining a deferred
noexcept is unacceptable.
for gcc/cp/ChangeLog
PR c++/87814
* pt.c (tsubst_exception_specification): Handle
DEFERRED_NOEXCEPT with !defer_ok.
for gcc/testsuite/ChangeLog
PR c++/87814
* g++.dg/cpp1z/pr87814.C: New.
From-SVN: r267155
Diffstat (limited to 'gcc/tree-object-size.c')
0 files changed, 0 insertions, 0 deletions