If I compile the following code with 'clang -O2 -ffast-math -fno-approx-funcs' the IR generated sets the 'fast' flag (implying 'afn' on the call and issues no diagnostic indicating that the -fno-approx-funcs option was ignored.
D106191 needed many more changes to clang/lib/Driver/ToolChains/Clang.cpp to get this option to interact correctly with the other floating point options.
If I compile the following code with 'clang -O2 -ffast-math -fno-approx-funcs' the IR generated sets the 'fast' flag (implying 'afn' on the call and issues no diagnostic indicating that the -fno-approx-funcs option was ignored.
D106191 needed many more changes to clang/lib/Driver/ToolChains/Clang.cpp to get this option to interact correctly with the other floating point options.