PR debug/43521
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 May 2010 17:00:32 +0000 (17:00 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 20 May 2010 17:00:32 +0000 (17:00 +0000)
* decl.c (start_java_method): Set DECL_ARTIFICIAL on the 'this'
PARM_DECL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159635 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/java/ChangeLog
gcc/java/decl.c

index 9a68dcd..48c66fc 100644 (file)
@@ -1,3 +1,9 @@
+2010-05-20  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/43521
+       * decl.c (start_java_method): Set DECL_ARTIFICIAL on the 'this'
+       PARM_DECL.
+
 2010-05-19  Anatoly Sokolov  <aesok@post.ru>
 
        * jcf-parse.c (get_constant): Use double_int_to_tree instead of
index 4cd4d96..e1c7fa4 100644 (file)
@@ -1,7 +1,7 @@
 /* Process declarations and variables for the GNU compiler for the
    Java(TM) language.
    Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007,
-   2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+   2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -1857,6 +1857,10 @@ start_java_method (tree fndecl)
       /* Add parm_decl to the decl_map. */
       push_jvm_slot (i, parm_decl);
 
+      /* The this parameter of methods is artificial.  */
+      if (TREE_CODE (TREE_TYPE (fndecl)) == METHOD_TYPE && i == 0)
+       DECL_ARTIFICIAL (parm_decl) = 1;
+
       type_map[i] = TREE_TYPE (parm_decl);
       if (TYPE_IS_WIDE (TREE_TYPE (parm_decl)))
        {