https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113156
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> --- So the problem is avr_option_optimization_table sets the default mlong-double/mdouble size but if you don't have save on the option, it changes back to the default which then errors out. Other targets handle setting the default like this differently, rs6000 handles the default `long double` in some interesting fashion. The patch is semi-correct but I need to make sure we error out if used with the target/optimization attribute (I suspect we do).