How about this: #define WINE_ONCE(x) { static int wine_once_var##__LINE__; if (!wine_once_var##__LINE__++) { x; }} Example use: - static int once; - if (!once++) FIXME_(keyboard)("(%p,%d,0x%08x,%X): stub\n",hwnd,id,modifiers,vk); + WINE_ONCE(FIXME_(keyboard)("(%p,%d,0x%08x,%X): stub\n",hwnd,id,modifiers,vk));