From: Jakub Jelinek Date: Thu, 20 May 2010 17:00:32 +0000 (+0200) Subject: re PR debug/43521 (java: "this" pointer not marked with DW_AT_artificial) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8961e01e953ce0ea2f91572bb3bd1d5ee0d82044;p=gcc.git re PR debug/43521 (java: "this" pointer not marked with DW_AT_artificial) PR debug/43521 * decl.c (start_java_method): Set DECL_ARTIFICIAL on the 'this' PARM_DECL. From-SVN: r159635 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 9a68dcdae89..48c66fc35ba 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2010-05-20 Jakub Jelinek + + PR debug/43521 + * decl.c (start_java_method): Set DECL_ARTIFICIAL on the 'this' + PARM_DECL. + 2010-05-19 Anatoly Sokolov * jcf-parse.c (get_constant): Use double_int_to_tree instead of diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 4cd4d9668dc..e1c7fa4f7c9 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -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))) {