One thing I wonder is what happens if you have an inline function in a header that is compiled with fast math by one translation unit and without in another.
I haven’t checked, but my assumption is that the output of each compilation unit will be different. The one definition rule doesn’t apply here (there’s still one definition), and there shouldn’t be a conflict if the functions are inlined in their respective compilation units so the linker shouldn’t complain.
Could be wrong but that’s my gut feeling.