aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-09-01 11:24:43 +0000
committerRichard Guenther <rguenther@suse.de>2009-09-01 11:24:43 +0000
commitf5c42bf4edc4a1a6c0005cee1e01f70e4f272067 (patch)
treea6c4e4a9305d88342cf1c7f026979d78e620a8d9
parenta39cbab3d1751ed5a6f54467df81f3571ed1bc34 (diff)
2009-09-01 Richard Guenther <rguenther@suse.de>
* tree.c (free_lang_data): Reset fold_obj_type_ref langhook. cp/ * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Define again. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/lto@151268 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.lto4
-rw-r--r--gcc/cp/ChangeLog.lto4
-rw-r--r--gcc/cp/cp-lang.c7
-rw-r--r--gcc/tree.c4
4 files changed, 14 insertions, 5 deletions
diff --git a/gcc/ChangeLog.lto b/gcc/ChangeLog.lto
index 3ea49884902..5e135f5c930 100644
--- a/gcc/ChangeLog.lto
+++ b/gcc/ChangeLog.lto
@@ -1,3 +1,7 @@
+2009-09-01 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (free_lang_data): Reset fold_obj_type_ref langhook.
+
2009-08-28 Richard Guenther <rguenther@suse.de>
Mainline merge @151178.
diff --git a/gcc/cp/ChangeLog.lto b/gcc/cp/ChangeLog.lto
index 41a4719dafa..c12b26793b0 100644
--- a/gcc/cp/ChangeLog.lto
+++ b/gcc/cp/ChangeLog.lto
@@ -1,3 +1,7 @@
+2009-09-01 Richard Guenther <rguenther@suse.de>
+
+ * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Define again.
+
2009-07-24 Diego Novillo <dnovillo@google.com>
* semantics.c (expand_or_defer_fn): Clear DECL_SAVED_TREE from FN.
diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c
index 86ddec7a2ef..525e072040e 100644
--- a/gcc/cp/cp-lang.c
+++ b/gcc/cp/cp-lang.c
@@ -53,11 +53,8 @@ static enum classify_record cp_classify_record (tree type);
#define LANG_HOOKS_DECL_PRINTABLE_NAME cxx_printable_name
#undef LANG_HOOKS_DWARF_NAME
#define LANG_HOOKS_DWARF_NAME cxx_dwarf_name
-
-/* FIXME lto: disabled so we can clear TYPE_BINFO.
- See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38178. */
-/* #undef LANG_HOOKS_FOLD_OBJ_TYPE_REF */
-/* #define LANG_HOOKS_FOLD_OBJ_TYPE_REF cp_fold_obj_type_ref */
+#undef LANG_HOOKS_FOLD_OBJ_TYPE_REF
+#define LANG_HOOKS_FOLD_OBJ_TYPE_REF cp_fold_obj_type_ref
#undef LANG_HOOKS_INIT_TS
#define LANG_HOOKS_INIT_TS cp_init_ts
diff --git a/gcc/tree.c b/gcc/tree.c
index 193a4ae02a9..eb7bad3c759 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -4795,6 +4795,10 @@ free_lang_data (void)
lang_hooks.types_compatible_p = NULL;
lang_hooks.expr_size = lhd_expr_size;
+ /* FIXME lto: As we clear TYPE_BINFO we cannot fold OBJ_TYPE_REF anymore.
+ See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38178. */
+ lang_hooks.fold_obj_type_ref = NULL;
+
/* FIXME lto: We have to compute these names early. */
lang_hooks.dwarf_name = lhd_dwarf_name;
lang_hooks.decl_printable_name = lhd_decl_printable_name;