aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/tree.c4
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f7743f6..2ca7ca4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2009-10-15 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (free_lang_data_in_decl): Free DECL_FCONTEXT.
+
2009-10-15 Jakub Jelinek <jakub@redhat.com>
* config/rs6000/option-defaults.h (OPTION_DEFAULT_SPECS): Don't
diff --git a/gcc/tree.c b/gcc/tree.c
index b58767a..5da346c 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -4402,6 +4402,10 @@ free_lang_data_in_decl (tree decl)
&& DECL_FIELD_OFFSET (decl)
&& TREE_CODE (DECL_FIELD_OFFSET (decl)) != INTEGER_CST)
DECL_FIELD_OFFSET (decl) = NULL_TREE;
+
+ /* DECL_FCONTEXT is only used for debug info generation. */
+ if (TREE_CODE (decl) == FIELD_DECL)
+ DECL_FCONTEXT (decl) = NULL_TREE;
}
else if (TREE_CODE (decl) == FUNCTION_DECL)
{