Hi,
Can a gatekeeper review the patch for bug 591?
http://bugs.open64.net/show_bug.cgi?id=591. Thank you very much.
The source code is:
_Complex float f (_Complex float b, _Complex float c)
{
_Complex float a = 1.0 + 0.0i;
return a / c;
}
The assertion happens in WN_lower. Before LOWER, the IR is:
C4DIV
C4STID
In lower_complex_expr, when lowering C4DIV, the tree has been deleted at
line 2856. In lower C4STID, the DIV is deleted again at line 8192. The fix
is to remove the second one.
Index: wn_lower.cxx
===================================================================
--- wn_lower.cxx (revision 1916)
+++ wn_lower.cxx (working copy)
@@ -8189,7 +8189,6 @@
WN_Set_Linenum (stid, WN_Get_Linenum(tree));
WN_INSERT_BlockLast(block, stid);
- WN_Delete(WN_kid0(tree));
WN_Delete( tree );
ldid = WN_Ldid( mtype, 4, c4temp_st, MTYPE_To_TY(mtype) );
--
Regards,
Lai Jian-Xin
------------------------------------------------------------------------------
Lotusphere 2011
Register now for Lotusphere 2011 and learn how
to connect the dots, take your collaborative environment
to the next level, and enter the era of Social Business.
http://p.sf.net/sfu/lotusphere-d2d
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel