diff options
| author | apbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-16 22:31:52 +0000 |
|---|---|---|
| committer | apbianco <apbianco@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-16 22:31:52 +0000 |
| commit | 4caf3e12dbdf88157e0d6ec56a417e41d0a6d856 (patch) | |
| tree | e0047553957bce79ad10a84c5610e93daba3c3aa | |
| parent | 574b70a0456f4245e566533bcd077a10e890c620 (diff) | |
| download | ppe42-gcc-4caf3e12dbdf88157e0d6ec56a417e41d0a6d856.tar.gz ppe42-gcc-4caf3e12dbdf88157e0d6ec56a417e41d0a6d856.zip | |
2001-02-15 Alexandre Petit-Bianco <apbianco@redhat.com>
* expr.c (build_instanceof): Check for arrays when trying fold to
false.
(http://gcc.gnu.org/ml/gcc-patches/2001-02/msg00993.html)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39778 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/java/ChangeLog | 15 | ||||
| -rw-r--r-- | gcc/java/expr.c | 4 |
2 files changed, 13 insertions, 6 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 92a48cdcaf1..848fd7ce197 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2001-02-15 Alexandre Petit-Bianco <apbianco@redhat.com> + + * expr.c (build_instanceof): Check for arrays when trying fold to + false. + 2001-02-15 Jim Meyering <meyering@lucent.com> * Make-lang.in (java.install-common): Depend on `installdirs'. @@ -10,12 +15,12 @@ 2001-02-14 Tom Tromey <tromey@redhat.com> Alexandre Petit-Bianco <apbianco@cygnus.com> - Fix for PR java/1261. - * typeck.c (build_java_array_type): Add public `clone' method to - arrays. - * parse.y (resolve_qualified_expression_name): Use current_class + Fix for PR java/1261. + * typeck.c (build_java_array_type): Add public `clone' method to + arrays. + * parse.y (resolve_qualified_expression_name): Use current_class when checking for inaccessibility. - (patch_method_invocation): Fixed error message when accessibility + (patch_method_invocation): Fixed error message when accessibility denied. Added `from_super' argument. 2001-02-14 Alexandre Petit-Bianco <apbianco@redhat.com> diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 70a2fe91276..4f7c0dc6a86 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -1157,7 +1157,9 @@ build_instanceof (value, type) value, boolean_true_node, boolean_false_node); } - else if (DECL_P (klass) && DECL_P (valclass) + else if (! TYPE_ARRAY_P (type) + && ! TYPE_ARRAY_P (valtype) + && DECL_P (klass) && DECL_P (valclass) && ! CLASS_INTERFACE (valclass) && ! CLASS_INTERFACE (klass) && ! inherits_from_p (type, valtype) |

