parse.y (analyze_clinit_body): Return true if the second operand of a METHOD_EXPR...
authorTom Tromey <tromey@redhat.com>
Fri, 6 Apr 2001 20:42:41 +0000 (20:42 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Fri, 6 Apr 2001 20:42:41 +0000 (20:42 +0000)
* parse.y (analyze_clinit_body): Return true if the second operand
of a METHOD_EXPR is nonzero.

From-SVN: r41164

gcc/java/ChangeLog
gcc/java/parse.y

index f6116e536f8cfb2edc20359d41fed3d4fcfd15b7..453641b915e8feba9bb5887372e71b0421a68861 100644 (file)
@@ -1,3 +1,8 @@
+2001-04-06  Tom Tromey  <tromey@redhat.com>
+
+       * parse.y (analyze_clinit_body): Return true if the second operand
+       of a METHOD_EXPR is nonzero.
+
 2001-04-06  Tom Tromey  <tromey@redhat.com>
 
        * Make-lang.in ($(srcdir)/java/parse-scan.c): Run bison from build
index 40324098d655d4b38515aa6600f83b684f42d22a..c0b9100ad05eba27a64be3d6e202f52c2bb9cee9 100644 (file)
@@ -7546,7 +7546,7 @@ maybe_generate_pre_expand_clinit (class_type)
 }
 
 /* Analyzes a method body and look for something that isn't a
-   MODIFY_EXPR. */
+   MODIFY_EXPR with a constant value.  */
 
 static int
 analyze_clinit_body (bbody)
@@ -7570,11 +7570,10 @@ analyze_clinit_body (bbody)
        break;
        
       case MODIFY_EXPR:
-       bbody = NULL_TREE;
-       break;
+       /* Return 0 if the operand is constant, 1 otherwise.  */
+       return ! TREE_CONSTANT (TREE_OPERAND (bbody, 1));
 
       default:
-       bbody = NULL_TREE;
        return 1;
       }
   return 0;