>, but I wouldn't call this name conflict, this sounds more like incompatible code behaviour.

It literally is a name conflict. It's not a DEBUGGER SYMBOL type of name conflict but it's still a name collision. A famous example of a macro name conflict is Microsoft windows.h ntdef.h min() max():

https://www.google.com/search?q=Microsoft+windows.h+min+max+...

The "windows.h" is not "incompatible" code. It just has a name conflict that needs a workaround.

But that's the kind of thing I addressed in my ancestor comment: a classic problem with different names clashing. You solve that by putting the translation unit boundaries somewhere else, or by undefining. Nothing else is pointed our in the Stackoverflow post appearing in your posted search query.

It sounds a bit like some people have poor macro hygiene. I thought it's standard to just undefine all macros immediately after use.