diff options
author | Marek Polacek <polacek@redhat.com> | 2017-03-20 15:02:09 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2017-03-20 15:02:09 +0000 |
commit | 92377255c1a2591085f9cd87e4ddc4bd34ba17a5 (patch) | |
tree | e6d18fb9dc27873baedf50eb40857bd031e0b288 /gcc/cp | |
parent | a74560ebeb9e088e410139595a6ca74f6720b502 (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/except.c | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7ffd818..a356fc7 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2017-03-20 Marek Polacek <polacek@redhat.com> + Paolo Carlini <paolo.carlini@oracle.com> + + PR c++/80059 - ICE with noexcept and __transaction_atomic + * except.c (build_must_not_throw_expr): Call + instantiate_non_dependent_expr_sfinae. + 2017-03-19 Jason Merrill <jason@redhat.com> PR c++/80084 - wrong C++17 decomposition by reference of parameter. 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; |