In C, if you need a macro to generate a guaranteed unique variable or struct name every time it is expanded across a file, GCC and Clang provide a secret built-in macro called __COUNTER__ that automatically increments 0, 1, 2, 3... every time the preprocessor touches it: