aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/parse.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java/parse.h')
-rw-r--r--gcc/java/parse.h7
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))