aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/except.c
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2017-03-20 15:02:09 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2017-03-20 15:02:09 +0000
commit92377255c1a2591085f9cd87e4ddc4bd34ba17a5 (patch)
treee6d18fb9dc27873baedf50eb40857bd031e0b288 /gcc/cp/except.c
parenta74560ebeb9e088e410139595a6ca74f6720b502 (diff)
downloadgcc-92377255c1a2591085f9cd87e4ddc4bd34ba17a5.zip
gcc-92377255c1a2591085f9cd87e4ddc4bd34ba17a5.tar.gz
gcc-92377255c1a2591085f9cd87e4ddc4bd34ba17a5.tar.bz2
PR c++/80059 - ICE with noexcept and __transaction_atomic
PR c++/80059 - ICE with noexcept and __transaction_atomic * except.c (build_must_not_throw_expr): Call instantiate_non_dependent_expr_sfinae. * g++.dg/tm/pr80059-2.C: New test. * g++.dg/tm/pr80059.C: New test. Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com> From-SVN: r246279
Diffstat (limited to 'gcc/cp/except.c')
-rw-r--r--gcc/cp/except.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/cp/except.c b/gcc/cp/except.c
index 45d00cc..f65b717 100644
--- a/gcc/cp/except.c
+++ b/gcc/cp/except.c
@@ -271,6 +271,7 @@ build_must_not_throw_expr (tree body, tree cond)
cond = perform_implicit_conversion_flags (boolean_type_node, cond,
tf_warning_or_error,
LOOKUP_NORMAL);
+ cond = instantiate_non_dependent_expr (cond);
cond = cxx_constant_value (cond);
if (integer_zerop (cond))
return body;