* parse.y (analyze_clinit_body): Ignore empty statements.

From-SVN: r112092
This commit is contained in:
Tom Tromey 2006-03-15 17:39:16 +00:00 committed by Tom Tromey
parent ff9d45906d
commit 2afd35b338
2 changed files with 12 additions and 2 deletions

View File

@ -1,3 +1,7 @@
2006-03-15 Tom Tromey <tromey@redhat.com>
* parse.y (analyze_clinit_body): Ignore empty statements.
2006-03-08 David Daney <ddaney@avtrex.com>
* gcj.texi: Document -static-libgcj option.

View File

@ -1,6 +1,6 @@
/* Source code parsing and tree node generation for the GNU compiler
for the Java(TM) language.
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
Contributed by Alexandre Petit-Bianco (apbianco@cygnus.com)
@ -8006,7 +8006,8 @@ maybe_generate_pre_expand_clinit (tree class_type)
}
/* Analyzes a method body and look for something that isn't a
MODIFY_EXPR with a constant value. */
MODIFY_EXPR with a constant value. Return true if <clinit> is
needed, false otherwise. */
static int
analyze_clinit_body (tree this_class, tree bbody)
@ -8045,6 +8046,11 @@ analyze_clinit_body (tree this_class, tree bbody)
|| ! DECL_INITIAL (TREE_OPERAND (bbody, 0))
|| DECL_CONTEXT (TREE_OPERAND (bbody, 0)) != this_class);
case NOP_EXPR:
/* We might see an empty statement here, which is
ignorable. */
return ! IS_EMPTY_STMT (bbody);
default:
return 1;
}