> Thinking out loud here. I wonder, however, if we want > to future proof the library against changes to the > options passed by having a few spare unused entried > available. This of course only helps if a new option > needs to be added. It does nothing for removal.
That’s actually the way gfortran_set_options() works, to ensure that we can add options in the future: in main() we allocate an array of values, and pass that array and its size to gfortran_set_options(). gfortran_set_options() then deals with the number of options passed, meaning if an older program calls a newer library, the runtime will simply use default values for all options there were not passed. And when we remove options, we simply pass zero values in their stead — until we break the ABI, when we clean up everything. Patch committed, thanks for reviewing. FX