The actual line is #define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))
The guy asking the question just misread the code, the colon is part of the struct definition and the key part is -!! which coerces an integer to 0 if the value is zero, or -1 if the value is anything other than 0.