Signed integer overflow in multiplication.
git-svn-id: svn://svn.valgrind.org/vex/trunk@3101
{ ULong cf, pf, af, zf, sf, of; \
DATA_STYPE hi; \
DATA_STYPE lo \
- = NARROWtoS( ((DATA_STYPE)CC_DEP1) \
- * ((DATA_STYPE)CC_DEP2) ); \
+ = NARROWtoS( ((DATA_S2TYPE)(DATA_STYPE)CC_DEP1) \
+ * ((DATA_S2TYPE)(DATA_STYPE)CC_DEP2) ); \
DATA_S2TYPE rr \
= NARROWto2S( \
((DATA_S2TYPE)((DATA_STYPE)CC_DEP1)) \
{ UInt cf, pf, af, zf, sf, of; \
DATA_STYPE hi; \
DATA_STYPE lo \
- = NARROWtoS( ((DATA_STYPE)CC_DEP1) \
- * ((DATA_STYPE)CC_DEP2) ); \
+ = NARROWtoS( ((DATA_S2TYPE)(DATA_STYPE)CC_DEP1) \
+ * ((DATA_S2TYPE)(DATA_STYPE)CC_DEP2) ); \
DATA_S2TYPE rr \
= NARROWto2S( \
((DATA_S2TYPE)((DATA_STYPE)CC_DEP1)) \