Bug report of W. Müller, forwarded from the CbmRoot redmine:
The 1995 vintage code in base/source/swaplw.c uses the construct
switch ( (int) p_dest)
{
case 0: /* source == destination /
...
default: / source != destination */
....
}
The pointer to int cases causes a
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
warning in gcc. This construct will fail when p_dest is exactly
on a 4 GB border, in that case p_dest is != 0 but the cast int
will be zero (taking the lower 32 bit only). Unlikely, but possible.
This should be rephrased as
if (p_dest) {
....
} else {
....
}