Could a gatekeeper please review this patch?
https://bugs.open64.net/show_bug.cgi?id=751
This assertion happens when StInfo::alignOffset doesn't return a
pointer_size aligned offset constraint graph node.

The bug is quite direct in StInfo::alignOffset
// If the offset is already aligned to Pointer_Size, there
// is not need to adjust.  It is the sub-pointer size offsets
// that will cause issues, especially if the offsets to not
// match up with a valid field offset in the current TY
if (offset & (~(Pointer_Size-1)) == offset)
however == has higher priority than &

This problem is exposed when getting align offset constraint graph nodes for
complex array.
In setting modulus for complex, its treated as a structure with two
elements.
However in StInfo::alignOffset, it always aligns offset to the real part of
the complex.
Which cauese real part always alias with img part.

Fix in StInfo::alignOffset
1. Correct computation order using parenthesis.
2. for complex, offset can be aligned to both real and img part.

Attachment: bug751.patch
Description: Binary data

------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Open64-devel mailing list
Open64-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open64-devel

Reply via email to