On Friday, 1 August 2014 at 01:41:40 UTC, Daniel Gibson wrote:

Yep, also a good point.
(Actually it's 187 -f* options, the rest is -O* which can't be combined of course and some of them most probably imply many of the -f* switches, but it'll still be an unmanageable/untestable amount of possible configurations)

Actually, it's much worse than that. ;) All of the -O switches in GCC have a set of -f switches that they enable or disable. What they DON'T tell you up front is that set of switches also enables other optimisations. [0] I encountered a situation a couple months ago where this actually mattered (i.e. runtime segfault) for one particular C file if you built it with levels above -O0, but enabling every single -f switch worked fine (still not sure why; solved by switching to Clang and it compiles and runs at all -O levels with no warnings).

-Wyatt

[0] https://gcc.gnu.org/wiki/FAQ#Is_-O1_.28-O2.2C-O3_or_-Os.29_equivalent_to_individual_-foptimization_options.3F

Reply via email to