diff options
author | Jason Merrill <jason@redhat.com> | 2015-08-17 14:40:57 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2015-08-17 14:40:57 -0400 |
commit | 5c563482ac83d8d2874f2cd4f608eae57d966dee (patch) | |
tree | af4a10d8886279611a97019b105aff591fe9ff51 /gcc | |
parent | 4e1492b7cdd05c8bf48ffc569ca8de86cb8e9237 (diff) | |
download | gcc-5c563482ac83d8d2874f2cd4f608eae57d966dee.zip gcc-5c563482ac83d8d2874f2cd4f608eae57d966dee.tar.gz gcc-5c563482ac83d8d2874f2cd4f608eae57d966dee.tar.bz2 |
* except.c (check_noexcept_r): Assert that fn is POINTER_TYPE_P.
From-SVN: r226947
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/cp/except.c | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index a5a42ff1..595781c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2015-08-17 Jason Merrill <jason@redhat.com> + + * except.c (check_noexcept_r): Assert that fn is POINTER_TYPE_P. + 2015-08-14 Jason Merrill <jason@redhat.com> PR c++/65974 diff --git a/gcc/cp/except.c b/gcc/cp/except.c index 6c36646..4f06f52 100644 --- a/gcc/cp/except.c +++ b/gcc/cp/except.c @@ -1155,7 +1155,9 @@ check_noexcept_r (tree *tp, int * /*walk_subtrees*/, void * /*data*/) We could use TREE_NOTHROW (t) for !TREE_PUBLIC fns, though... */ tree fn = (code == AGGR_INIT_EXPR ? AGGR_INIT_EXPR_FN (t) : CALL_EXPR_FN (t)); - tree type = TREE_TYPE (TREE_TYPE (fn)); + tree type = TREE_TYPE (fn); + gcc_assert (POINTER_TYPE_P (type)); + type = TREE_TYPE (type); STRIP_NOPS (fn); if (TREE_CODE (fn) == ADDR_EXPR) |