diff options
author | Kai Tietz <kai.tietz@onevision.com> | 2011-01-01 11:05:41 +0000 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2011-01-01 12:05:41 +0100 |
commit | 220e83ca20ee9254033fd5a6adec8a18d5ef6eb9 (patch) | |
tree | 965dc756aaa48aec86a2a583feae2d461252558b /gcc/tree.c | |
parent | 49e38883586f5bcca7dc763550b541c4c83f135e (diff) | |
download | gcc-220e83ca20ee9254033fd5a6adec8a18d5ef6eb9.zip gcc-220e83ca20ee9254033fd5a6adec8a18d5ef6eb9.tar.gz gcc-220e83ca20ee9254033fd5a6adec8a18d5ef6eb9.tar.bz2 |
ChangeLog gcc/
2011-01-01 Kai Tietz <kai.tietz@onevision.com>
PR target/38662
* tree.c (type_hash_eq): Call
language hook for METHOD_TYPEs, too.
ChangeLog gcc/cp
2011-01-01 Kai Tietz <kai.tietz@onevision.com>
PR target/38662
* tree.c (cxx_type_hash_eq):
Allow METHOD_TYPE, too.
ChangeLog gcc/testsuite
2011-01-01 Kai Tietz <kai.tietz@onevision.com>
PR target/38662
* g++.dg/eh/pr38662.C: New testcase.
From-SVN: r168389
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 19 |
1 files changed, 10 insertions, 9 deletions
@@ -6007,15 +6007,16 @@ type_hash_eq (const void *va, const void *vb) return TYPE_OFFSET_BASETYPE (a->type) == TYPE_OFFSET_BASETYPE (b->type); case METHOD_TYPE: - return (TYPE_METHOD_BASETYPE (a->type) == TYPE_METHOD_BASETYPE (b->type) - && (TYPE_ARG_TYPES (a->type) == TYPE_ARG_TYPES (b->type) - || (TYPE_ARG_TYPES (a->type) - && TREE_CODE (TYPE_ARG_TYPES (a->type)) == TREE_LIST - && TYPE_ARG_TYPES (b->type) - && TREE_CODE (TYPE_ARG_TYPES (b->type)) == TREE_LIST - && type_list_equal (TYPE_ARG_TYPES (a->type), - TYPE_ARG_TYPES (b->type))))); - + if (TYPE_METHOD_BASETYPE (a->type) == TYPE_METHOD_BASETYPE (b->type) + && (TYPE_ARG_TYPES (a->type) == TYPE_ARG_TYPES (b->type) + || (TYPE_ARG_TYPES (a->type) + && TREE_CODE (TYPE_ARG_TYPES (a->type)) == TREE_LIST + && TYPE_ARG_TYPES (b->type) + && TREE_CODE (TYPE_ARG_TYPES (b->type)) == TREE_LIST + && type_list_equal (TYPE_ARG_TYPES (a->type), + TYPE_ARG_TYPES (b->type))))) + break; + return 0; case ARRAY_TYPE: return TYPE_DOMAIN (a->type) == TYPE_DOMAIN (b->type); |