#ifdef function