A dead condition in dlls/oleaut32/variant.c
Gerald Pfeifer
gerald at pfeifer.com
Thu Nov 30 03:43:48 CST 2017
dlls/oleaut32/variant.c has the following code
else if ((dwVtBits & REAL_VTBITS) == VTBIT_DECIMAL)
where REAL_VTBITS is defined as VTBIT_R4|VTBIT_R8|VTBIT_CY with
VTBIT_R4 := 1 << VT_R4 and VT_R4 := 4 in wtypes.h,
VTBIT_R8 := 1 << VT_R8 and VT_R8 := 5,
VTBIT_CY := 1 << VT_CY and VT_CY := 6.
VTBIT_DECIMAL, on the other hand is 1 << VT_DECIMAL with VT_DECIMAL = 14.
Now perhaps I am missing something quite obvious, but isn't that
condition always false since REAL_VTBITS are disjoint from VTBIT_DECIMAL
and we are first masking bits 5, 6, and 7 and then comparing with bit 15?
(If you fix this, you may want to give credit to GCC 8 for pointing me
towards that code.)
Gerald
More information about the wine-devel
mailing list