The unlikely() implementation for gcc 4.x spits out a warning when a pointer is passed. Add a cast to unsigned long.