This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Fix pr middle-end/41355
- From: Duncan Sands <baldrick at free dot fr>
- To: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 07 Jul 2010 17:10:34 +0200
- Subject: Fix pr middle-end/41355
When materializing a cloned function with arguments removed,
to TYPE_POINTER_TO field of the new type (which has fewer
arguments) was left pointing to the original type. Bootstraps
and passes regression testing (tested on the 4.5 branch since
4.6 seems ill right now). Jan Hubicka says "it seems fine to me,
but I can not approve it". OK to apply to mainline and 4.5?
Changelog entry:
2010-07-07 Duncan Sands <baldrick@free.fr>
PR middle-end/41355
* tree.c (build_function_type_skip_args): Copy the original type using
build_distinct_type_copy rather than copy_node.
Index: tree.c
===================================================================
--- tree.c (revision 161914)
+++ tree.c (working copy)
@@ -7350,7 +7350,7 @@
if (TREE_CODE (orig_type) != METHOD_TYPE
|| !bitmap_bit_p (args_to_skip, 0))
{
- new_type = copy_node (orig_type);
+ new_type = build_distinct_type_copy (orig_type);
TYPE_ARG_TYPES (new_type) = new_reversed;
}
else