aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/optimize.c
diff options
context:
space:
mode:
authorMartin Jambor <mjambor@suse.cz>2011-04-12 12:02:31 +0200
committerMartin Jambor <jamborm@gcc.gnu.org>2011-04-12 12:02:31 +0200
commit0fa1f9b76227e5f3bb22a40a356727f0c4841179 (patch)
tree25e81ab2df18f59f5d53a1d312e2195c9155fce8 /gcc/cp/optimize.c
parenta358e188450fe839855b1b10e3f0410bf8e54929 (diff)
downloadgcc-0fa1f9b76227e5f3bb22a40a356727f0c4841179.zip
gcc-0fa1f9b76227e5f3bb22a40a356727f0c4841179.tar.gz
gcc-0fa1f9b76227e5f3bb22a40a356727f0c4841179.tar.bz2
class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of cgraph_get_create_node.
2011-04-12 Martin Jambor <mjambor@suse.cz> gcc/cp/ * class.c (cp_fold_obj_type_ref): Call cgraph_get_node instead of cgraph_get_create_node. * decl2.c (cp_write_global_declarations): Call cgraph_get_node instead of cgraph_get_create_node. * method.c (make_alias_for_thunk): Call cgraph_get_node instead of cgraph_get_create_node, assert it returns non-NULL. (use_thunk): Likewise. * optimize.c (maybe_clone_body): Call cgraph_same_body_alias only when flag_syntax_only is not set. Call cgraph_get_node instead of cgraph_get_create_node. (maybe_clone_body): Call cgraph_get_node instead of cgraph_get_create_node. From-SVN: r172308
Diffstat (limited to 'gcc/cp/optimize.c')
-rw-r--r--gcc/cp/optimize.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/cp/optimize.c b/gcc/cp/optimize.c
index 2110779..87302dc 100644
--- a/gcc/cp/optimize.c
+++ b/gcc/cp/optimize.c
@@ -309,8 +309,9 @@ maybe_clone_body (tree fn)
&& (!DECL_ONE_ONLY (fns[0])
|| (HAVE_COMDAT_GROUP
&& DECL_WEAK (fns[0])))
- && cgraph_same_body_alias (cgraph_get_create_node (fns[0]), clone,
- fns[0]))
+ && (flag_syntax_only
+ || cgraph_same_body_alias (cgraph_get_node (fns[0]), clone,
+ fns[0])))
{
alias = true;
if (DECL_ONE_ONLY (fns[0]))
@@ -424,8 +425,8 @@ maybe_clone_body (tree fn)
/* If *[CD][12]* dtors go into the *[CD]5* comdat group and dtor is
virtual, it goes into the same comdat group as well. */
DECL_COMDAT_GROUP (fns[2]) = comdat_group;
- base_dtor_node = cgraph_get_create_node (fns[0]);
- deleting_dtor_node = cgraph_get_create_node (fns[2]);
+ base_dtor_node = cgraph_get_node (fns[0]);
+ deleting_dtor_node = cgraph_get_node (fns[2]);
gcc_assert (base_dtor_node->same_comdat_group == NULL);
gcc_assert (deleting_dtor_node->same_comdat_group == NULL);
base_dtor_node->same_comdat_group = deleting_dtor_node;