use __unused directive to avoid incorrect compiler warnings