<div>I should also implement NodeEquals() method. Please ignore this message.</div><div><includetail><div> </div><div> </div><div style="font:Verdana normal 14px;color:#000;"><div style="FONT-SIZE: 12px;FONT-FAMILY: Arial Narrow;padding:2px 0 2px 0;">------------------ Original ------------------</div><div style="FONT-SIZE: 12px;background:#efefef;padding:8px;"><div id="menu_sender"><b>From: </b> "Xu Zhongxing"<xuzhongxing@foxmail.com>;</div><div><b>Date: </b> Mon, Sep 26, 2011 10:11 PM</div><div><b>To: </b> "llvmdev"<llvmdev@cs.uiuc.edu>; <wbr></div><div></div><div><b>Subject: </b> [LLVMdev] [LLVMDev] The ComputeHash algorithm in FoldingSet isunsafe</div></div><div> </div><div>I use FoldingSet to save some data structures. And I found somehow it always abandon a new node. I tracked the bug into the ComputeHash() function of FoldingSet. It computes the SAME hash value for these two 32-bit unsigned integer sequences:</div><div><br></div><div><div>size: 17                                                                                                                                                     </div><div>4144534024, 32767, 4146895704, 32767, 4027803688, 32767, 4026983736, 32767, 4147202696, 32767, 4026587256, 32767, 0, 4026589472, 32767, 0, 0,                </div><div>size: 16                                                                                                                                                     </div><div>4030909168, 32767, 4028631392, 32767, 4029542384, 32767, 0, 4028487592, 32767, 4026587256, 32767, 0, 4026589472, 32767, 0, 0,                                </div><div><br></div><div>The hash value is 2111586599                                             </div><div><br></div><div>The test code is attached.</div><div><br></div><div>What should we do with it?                                                                                                      </div><div><br></div></div><div><br></div></div></includetail></div>