diff options
Diffstat (limited to 'gcc/java/parse.h')
-rw-r--r-- | gcc/java/parse.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/java/parse.h b/gcc/java/parse.h index 17c2bd6..3db2580 100644 --- a/gcc/java/parse.h +++ b/gcc/java/parse.h @@ -860,7 +860,12 @@ struct parser_ctxt { && !inherits_from_p (TREE_TYPE (TREE_TYPE (current_this)), \ TREE_TYPE (DECL_CONTEXT (TYPE_NAME (T)))) \ && !common_enclosing_context_p (TREE_TYPE (TREE_TYPE (current_this)), \ - (T))) \ + (T)) \ + && INNER_CLASS_TYPE_P (TREE_TYPE (TREE_TYPE (current_this))) \ + && !inherits_from_p \ + (TREE_TYPE (DECL_CONTEXT \ + (TYPE_NAME (TREE_TYPE (TREE_TYPE (current_this))))),\ + TREE_TYPE (DECL_CONTEXT (TYPE_NAME (T))))) \ /* We don't have a this. */ \ || !current_this)) |