aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/decl2.c16
-rw-r--r--gcc/cp/tree.c2
3 files changed, 14 insertions, 9 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index e7e9b7e..a00d781 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2012-04-14 Jan Hubicka <jh@suse.cz>
+
+ * tree.c: Update field referenced for new cgraph/varpool layout.
+ * decl2.c: Likewise.
+
2012-04-13 Jason Merrill <jason@redhat.com>
PR c++/52824
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c
index 212feea..e7fb0f5 100644
--- a/gcc/cp/decl2.c
+++ b/gcc/cp/decl2.c
@@ -1898,7 +1898,7 @@ maybe_emit_vtables (tree ctype)
{
current = varpool_node (vtbl);
if (last)
- last->same_comdat_group = current;
+ last->symbol.same_comdat_group = (symtab_node) current;
last = current;
if (!first)
first = current;
@@ -1906,7 +1906,7 @@ maybe_emit_vtables (tree ctype)
}
if (first != last)
- last->same_comdat_group = first;
+ last->symbol.same_comdat_group = (symtab_node)first;
/* Since we're writing out the vtable here, also write the debug
info. */
@@ -3491,7 +3491,7 @@ collect_candidates_for_java_method_aliases (void)
for (node = cgraph_nodes; node ; node = node->next)
{
- tree fndecl = node->decl;
+ tree fndecl = node->symbol.decl;
if (DECL_CONTEXT (fndecl)
&& TYPE_P (DECL_CONTEXT (fndecl))
@@ -3525,7 +3525,7 @@ build_java_method_aliases (struct pointer_set_t *candidates)
for (node = cgraph_nodes; node ; node = node->next)
{
- tree fndecl = node->decl;
+ tree fndecl = node->symbol.decl;
if (TREE_ASM_WRITTEN (fndecl)
&& pointer_set_contains (candidates, fndecl))
@@ -3706,7 +3706,7 @@ collect_all_refs (const char *source_file)
static bool
clear_decl_external (struct cgraph_node *node, void *data ATTRIBUTE_UNUSED)
{
- DECL_EXTERNAL (node->decl) = 0;
+ DECL_EXTERNAL (node->symbol.decl) = 0;
return false;
}
@@ -3945,10 +3945,10 @@ cp_write_global_declarations (void)
/* If we mark !DECL_EXTERNAL one of the symbols in some comdat
group, we need to mark all symbols in the same comdat group
that way. */
- if (node->same_comdat_group)
- for (next = node->same_comdat_group;
+ if (node->symbol.same_comdat_group)
+ for (next = cgraph (node->symbol.same_comdat_group);
next != node;
- next = next->same_comdat_group)
+ next = cgraph (next->symbol.same_comdat_group))
cgraph_for_node_and_aliases (next, clear_decl_external,
NULL, true);
}
diff --git a/gcc/cp/tree.c b/gcc/cp/tree.c
index 0577759..96a403f 100644
--- a/gcc/cp/tree.c
+++ b/gcc/cp/tree.c
@@ -3508,7 +3508,7 @@ cp_fix_function_decl_p (tree decl)
/* Don't fix same_body aliases. Although they don't have their own
CFG, they share it with what they alias to. */
if (!node || !node->alias
- || !VEC_length (ipa_ref_t, node->ref_list.references))
+ || !VEC_length (ipa_ref_t, node->symbol.ref_list.references))
return true;
}