diff options
Diffstat (limited to 'contrib/gcc/cp/rtti.c')
| -rw-r--r-- | contrib/gcc/cp/rtti.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/contrib/gcc/cp/rtti.c b/contrib/gcc/cp/rtti.c index ae23234ee66b..39cb1c680545 100644 --- a/contrib/gcc/cp/rtti.c +++ b/contrib/gcc/cp/rtti.c @@ -1413,11 +1413,13 @@ unemitted_tinfo_decl_p (t, data) TREE_CODE (t) == VAR_DECL /* whos name points back to itself */ && IDENTIFIER_GLOBAL_VALUE (DECL_NAME (t)) == t - /* whos name's type is non-null */ + /* whose name's type is non-null */ && TREE_TYPE (DECL_NAME (t)) - /* and whos type is a struct */ + /* and whose type is a struct */ && TREE_CODE (TREE_TYPE (t)) == RECORD_TYPE - /* with a first field of our pseudo type info */ + /* with a field */ + && TYPE_FIELDS (TREE_TYPE (t)) + /* which is our pseudo type info */ && TREE_TYPE (TYPE_FIELDS (TREE_TYPE (t))) == ti_desc_type_node) return 1; return 0; |
