summaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-14 10:24:59 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2012-04-14 10:24:59 +0000
commit7d0d0ce1c6bb14bfda0b0fc0fcd8e96bd8c173f0 (patch)
tree7b0127a94d4c70c75f4d133c7806c59bc61566c2 /gcc/cp
parent6348046755565ad1a4c61bb07f6725f9436a5685 (diff)
downloadgcc-7d0d0ce1c6bb14bfda0b0fc0fcd8e96bd8c173f0.tar.gz
* cgraph.h: Update copyrights;
(symtab_node): Turn to union typedef. (symtab_node_base): New structure. (symtab_type): Add SYMTAB_SYMBOL tag. * cgraph.c: Update references to fields (cgraph_hash, assembler_name_hash): Turn into symtab_node. (cgraph_local_info): Remove lto_file_data and externally_visible. (cgraph_node): Remove decl; same_comdat_group list; aux; ref_list; order; address_taken; reachable_from_other_parittion, in_other_partition; resolution. (varpool_node): Remove decl; same_comdat_group; ref_list; lto_file_data; aux; order; resolution; externally_visible; used_from_other_partition; in_other_partition. (symtab_node_def); New union. (cgraph, varpool): Update. (varpool_first_static_initializer, varpool_next_static_initializer, cgraph_only_called_directly_or_aliased_p, varpool_can_remove_if_no_refs, varpool_can_remove_if_no_refs, varpool_all_refs_explicit_p, cgraph_alias_aliased_node, varpool_alias_aliased_node, cgraph_edge_recursive_p): Update field references. * cgraph.c: Likewise. * cgraphbuild.c: Likewise. * lto-symtab.c: Likewise. * c-gimplify.c: Likewise. * value-prof.c: Likewise. * tree.c: Likewise. * ipa-cp.c: Likewise. * tree-emutls.c: Likewise. * ipa-inline-transform.c: Likwise. * ipa-reference.c: Likewise. * cgraphunit.c: Likewise. * ipa-ref.c: Likewise. * lto-cgraph.c: Likewise. * ipa-ref-inline.h: Likewise. * ipa-pure-const.c: Likewise. * lto-streamer-out.c: Likewise. * ipa-utils.c: Likewise. * ipa-inline.c: Likewise. * matrix-reorg.c: Likewise. * tree-eh.c: Likewise. * tree-vectorizer.c: Likewise. * ipa-split.c: Likewise. * ipa.c: Likewise. * trans-mem.c: Likewise. * ipa-inline-analysis.c: Likewise. * gimplify.c: Likewise. * cfgexpand.c: Likewise. * tree-sra.c: Likewise. * ipa-prop.c: Likewise. * varasm.c: Likewise. * tree-nested.c: Likewise. * tree-inline.c: Likewise. * tree-profile.c: Likewise. * tree-ssa-structalias.c: Likewise. * passes.c: Likewise. * varpool.c: Likewise. * tree.c: Update field referenced for new cgraph/varpool layout. * decl2.c: Likewise. * gcc-interface/trans.c (finalize_nrv): Update field referenced for new cgraph/varpool layout. * lto.c: Update field referenced for new cgraph/varpool layout. * lto-partition.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186450 138bc75d-0d04-0410-961f-82ee72b054a4
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 e7e9b7e8afb..a00d7815b61 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 212feeae313..e7fb0f5235a 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 05777594e54..96a403fce6b 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;
}