http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60580
--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- I think following what i386 does is reasonable for now. I'm a bit dubious of the whole Save design - logically it would be cleaner if the gcc_options structures were saved just before finish_options, and then use of option-changing attributes were to process options with a copy of that structure (if this hadn't already been done for that particular attribute value), with finish_options and subsequent processing then being done for the new copy. But that would be quite a lot of work, to complete a clean separation of option processing working on such structures from options processing that actually needs global effects, and then you'd need to work out how to represent things for LTO.