diff options
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/decl2.c | 16 | ||||
-rw-r--r-- | gcc/cp/tree.c | 2 |
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; } |