https://issues.dlang.org/show_bug.cgi?id=24505
--- Comment #2 from kinke <ki...@gmx.net> --- The mixin template could work (the module is the .c file), but I doubt it'd be a big improvement over simply ignoring a conflicting macro - as the importer needs to know about such (potentially platform-dependant) header details, i.e., what symbol might be a macro. Another manual solution could be to skip the translation if the macro is undefined later via `#undef stat` - that would be doable in the .c file including the headers, without having to patch the original headers. Note that the Postgres header (https://github.com/postgres/postgres/blob/master/src/include/port/win32_port.h) is actually even a bit worse, defining 3 `stat` 'symbols': ``` #define stat microsoft_native_stat #include <sys/stat.h> #undef stat […] struct stat { … }; […] #define stat(path, sb) _pgstat64(path, sb) ``` --