aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/decl.c1
-rw-r--r--gcc/java/lang.c4
3 files changed, 9 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 906a5a0..957c032 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,8 @@
+2010-12-15 Dave Korn <dave.korn.cygwin@gmail.com>
+
+ * decl.c (java_init_decl_processing): Initialise integer_three_node.
+ * lang.c (put_decl_node): Handle nested function decls.
+
2010-12-07 Joseph Myers <joseph@codesourcery.com>
* jcf-parse.c: Don't include assert.h.
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 96a18ae..a17b826 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -614,6 +614,7 @@ java_init_decl_processing (void)
integer_zero_node = build_int_cst (NULL_TREE, 0);
integer_one_node = build_int_cst (NULL_TREE, 1);
integer_two_node = build_int_cst (NULL_TREE, 2);
+ integer_three_node = build_int_cst (NULL_TREE, 3);
integer_four_node = build_int_cst (NULL_TREE, 4);
integer_minus_one_node = build_int_cst (NULL_TREE, -1);
diff --git a/gcc/java/lang.c b/gcc/java/lang.c
index 5501294..d26f155 100644
--- a/gcc/java/lang.c
+++ b/gcc/java/lang.c
@@ -402,7 +402,9 @@ put_decl_node (tree node, int verbosity)
if verbosity is higher than 1. */
&& verbosity >= 1)
{
- put_decl_node (TYPE_NAME (DECL_CONTEXT (node)),
+ put_decl_node (TREE_CODE (DECL_CONTEXT (node)) == FUNCTION_DECL
+ ? DECL_CONTEXT (node)
+ : TYPE_NAME (DECL_CONTEXT (node)),
verbosity);
put_decl_string (".", 1);
}