aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/parse.y
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2004-12-02 19:41:03 +0000
committerTom Tromey <tromey@gcc.gnu.org>2004-12-02 19:41:03 +0000
commit5c5d79d28c0398e442e3ee095dce8c4275eaf7ab (patch)
tree193b23aea37dd044d8b275b773620a55d4ee9e03 /gcc/java/parse.y
parentabd7fea9f9afbe42fbaad073dab52e7d78640543 (diff)
downloadgcc-5c5d79d28c0398e442e3ee095dce8c4275eaf7ab.zip
gcc-5c5d79d28c0398e442e3ee095dce8c4275eaf7ab.tar.gz
gcc-5c5d79d28c0398e442e3ee095dce8c4275eaf7ab.tar.bz2
re PR java/16675 (Null parameter values for anonymous constructor invocation require explicit cast)
PR java/16675: * parse.y (craft_constructor): Special case null_pointer_node. From-SVN: r91657
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r--gcc/java/parse.y4
1 files changed, 4 insertions, 0 deletions
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);
}