Commit 8961e01e by Jakub Jelinek Committed by Jakub Jelinek

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
parent 69b45d71
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> 2010-05-19 Anatoly Sokolov <aesok@post.ru>
* jcf-parse.c (get_constant): Use double_int_to_tree instead of * jcf-parse.c (get_constant): Use double_int_to_tree instead of
......
/* Process declarations and variables for the GNU compiler for the /* Process declarations and variables for the GNU compiler for the
Java(TM) language. Java(TM) language.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2007, 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. This file is part of GCC.
...@@ -1857,6 +1857,10 @@ start_java_method (tree fndecl) ...@@ -1857,6 +1857,10 @@ start_java_method (tree fndecl)
/* Add parm_decl to the decl_map. */ /* Add parm_decl to the decl_map. */
push_jvm_slot (i, parm_decl); 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); type_map[i] = TREE_TYPE (parm_decl);
if (TYPE_IS_WIDE (TREE_TYPE (parm_decl))) if (TYPE_IS_WIDE (TREE_TYPE (parm_decl)))
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment