From 33351ff9faa21c4c1af377d661a52ac0ce366db3 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Tue, 18 Feb 2020 14:39:41 +0100 Subject: Drop MALLOC attribute for void functions. PR ipa/93583 * cgraph.c (cgraph_node::verify_node): Verify MALLOC attribute and return type of functions. * ipa-param-manipulation.c (ipa_param_adjustments::adjust_decl): Drop MALLOC attribute for void functions. * ipa-pure-const.c (funct_state_summary_t::duplicate): Drop malloc_state for a new VOID clone. PR ipa/93583 * gcc.dg/ipa/pr93583.c: New test. --- gcc/ipa-pure-const.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gcc/ipa-pure-const.c') diff --git a/gcc/ipa-pure-const.c b/gcc/ipa-pure-const.c index ccd0918..564c662 100644 --- a/gcc/ipa-pure-const.c +++ b/gcc/ipa-pure-const.c @@ -1157,11 +1157,14 @@ funct_state_summary_t::insert (cgraph_node *node, funct_state_d *state) /* Called when new clone is inserted to callgraph late. */ void -funct_state_summary_t::duplicate (cgraph_node *, cgraph_node *, +funct_state_summary_t::duplicate (cgraph_node *, cgraph_node *dst, funct_state_d *src_data, funct_state_d *dst_data) { new (dst_data) funct_state_d (*src_data); + if (dst_data->malloc_state == STATE_MALLOC + && VOID_TYPE_P (TREE_TYPE (TREE_TYPE (dst->decl)))) + dst_data->malloc_state = STATE_MALLOC_BOTTOM; } -- cgit v1.1