diff options
Diffstat (limited to 'gcc/java')
| -rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/java/parse.y | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 88117f5..4f4b8bd 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,5 +1,10 @@ 2004-12-02 Tom Tromey <tromey@redhat.com> + PR java/16675: + * parse.y (craft_constructor): Special case null_pointer_node. + +2004-12-02 Tom Tromey <tromey@redhat.com> + PR java/18741: * java-gimplify.c (java_gimplify_expr): Don't call SET_EXPR_LOCATION unless wrapped tree is an expression. diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 2b3d3a4..2634de9 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -5591,6 +5591,10 @@ craft_constructor (tree class_decl, tree args) /* Then if there are any args to be enforced, enforce them now */ for (; args && args != end_params_node; args = TREE_CHAIN (args)) { + /* If we see a `void *', we need to change it to Object. */ + if (TREE_VALUE (args) == TREE_TYPE (null_pointer_node)) + TREE_VALUE (args) = object_ptr_type_node; + sprintf (buffer, "parm%d", i++); parm = tree_cons (get_identifier (buffer), TREE_VALUE (args), parm); } |
