diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2014-11-27 21:15:16 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2014-11-27 21:15:16 +0000 |
commit | 1a33633742ab03c950358ac987ff660c99620dcb (patch) | |
tree | 64200d031f966cf9ac786cb7819497f72747deff /gcc | |
parent | e8b5eb2553d71bb6820a7123544e179911bbd138 (diff) | |
download | gcc-1a33633742ab03c950358ac987ff660c99620dcb.zip gcc-1a33633742ab03c950358ac987ff660c99620dcb.tar.gz gcc-1a33633742ab03c950358ac987ff660c99620dcb.tar.bz2 |
* dwarf2out.c (set_block_origin_self): Skip nested functions.
From-SVN: r218133
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0554742..4b3248f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2014-11-27 Eric Botcazou <ebotcazou@adacore.com> + + * dwarf2out.c (set_block_origin_self): Skip nested functions. + 2014-11-27 H.J. Lu <hongjiu.lu@intel.com> PR target/63833 diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 25f0e7d..b7f93f0 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -17940,8 +17940,11 @@ set_block_origin_self (tree stmt) for (local_decl = BLOCK_VARS (stmt); local_decl != NULL_TREE; local_decl = DECL_CHAIN (local_decl)) - if (! DECL_EXTERNAL (local_decl)) - set_decl_origin_self (local_decl); /* Potential recursion. */ + /* Do not recurse on nested functions since the inlining status + of parent and child can be different as per the DWARF spec. */ + if (TREE_CODE (local_decl) != FUNCTION_DECL + && !DECL_EXTERNAL (local_decl)) + set_decl_origin_self (local_decl); } { |