diff options
author | Jakub Jelinek <jakub@redhat.com> | 2010-04-30 13:24:16 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2010-04-30 13:24:16 +0200 |
commit | a07ecd2bc479d4fbace69c7e56536eef29e43f41 (patch) | |
tree | 405dc4fd0a04c0f1b2d7e856cea8e3c6e0ab4102 /gcc/tree.c | |
parent | 1179ee883f2fe46578cb07b3b2027dbe381905fc (diff) | |
download | gcc-a07ecd2bc479d4fbace69c7e56536eef29e43f41.zip gcc-a07ecd2bc479d4fbace69c7e56536eef29e43f41.tar.gz gcc-a07ecd2bc479d4fbace69c7e56536eef29e43f41.tar.bz2 |
re PR debug/43942 (-fcompare-debug faulure with external declaration in function.)
PR debug/43942
* tree.c (auto_var_in_fn_p): Return false for DECL_EXTERNAL vars.
* c-c++-common/pr43942.c: New test.
From-SVN: r158931
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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)); |