From 6c45a41bc129dbf7a501c6236d27733c5f155898 Mon Sep 17 00:00:00 2001 From: jakub Date: Fri, 30 Apr 2010 11:24:16 +0000 Subject: [PATCH] PR debug/43942 * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars. * c-c++-common/pr43942.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158931 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/tree.c | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1a428b9417a..7655f239d35 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2010-04-30 Jakub Jelinek + + PR debug/43942 + * tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars. + 2010-04-30 Hariharan Sandanagobalane * config/picochip/picochip.c (picochip_legitimize_address): Define. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9aaaf8290c4..886e8103212 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2010-04-30 Jakub Jelinek + + PR debug/43942 + * c-c++-common/pr43942.c: New test. + 2009-04-30 Steven Bosscher * gcc.dg/lto/20091216-1_0.c: Adjust test case to avoid diff --git a/gcc/tree.c b/gcc/tree.c index 8eeecff7122..24482af95d8 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -7936,7 +7936,8 @@ bool auto_var_in_fn_p (const_tree var, const_tree fn) { return (DECL_P (var) && DECL_CONTEXT (var) == fn - && (((TREE_CODE (var) == VAR_DECL || TREE_CODE (var) == PARM_DECL) + && ((((TREE_CODE (var) == VAR_DECL && ! DECL_EXTERNAL (var)) + || TREE_CODE (var) == PARM_DECL) && ! TREE_STATIC (var)) || TREE_CODE (var) == LABEL_DECL || TREE_CODE (var) == RESULT_DECL)); -- 2.11.0