merge_pointed_to_info

Nathan Sidwell nathan@codesourcery.com
Wed Nov 3 09:34:00 GMT 2004


Something looks wrong in merge_pointed_to_info.

static void
merge_pointed_to_info (struct alias_info *ai, tree dest, tree orig)
{
   struct ptr_info_def *dest_pi, *orig_pi;

   /* Make sure we have points-to information for ORIG.  */
   collect_points_to_info_for (ai, orig);

   dest_pi = get_ptr_info (dest);
   orig_pi = SSA_NAME_PTR_INFO (orig);

At this point is it an error for dest_pi == orig_pi ? The later code
looks like it will break if they are.

       dest_pi->pt_malloc = 0;

       if (orig_pi->pt_malloc || orig_pi->pt_anything)
	set_pt_anything (dest);

However, the attached file contains such an instance, when compiled for
i686-pc-linux-gnu at -O2.  My suspicion was aroused when bitmap_ior_into
was called with the same bitmap.

nathan
-- 
Nathan Sidwell    ::   http://www.codesourcery.com   ::     CodeSourcery LLC
nathan@codesourcery.com    ::     http://www.planetfall.pwp.blueyonder.co.uk

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gengtype.i
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20041103/8a7f3502/attachment.ksh>


More information about the Gcc mailing list