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
compiler.cpp.extra_flags=-fabi-version=0
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?