-fabi-version not == 0 but why?

I recently had some very nasty compiler issue. I made heavy use of templates and got a an error with regards to the ABI version. This was more or less easily fixed by adding


in the platform.txt file. However version=0 should be the gcc default and I found no place where the configuration sets the version to something different.

Why is it that the compiler is using a different abi-version? It appears to me that it either uses 1 or 2 because with all other versions my code compiles.

The issue is that I am preparing a library for others to use. If every user has to explicitly set abi-version=0 this will degrade the reachable user base.

Question 1: how and why does the Arduino IDE somehow default to abi-version != 0
Question 2: would it be possible to fix this?

Which version of the IDE are you using?