https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113156

--- Comment #10 from Georg-Johann Lay <gjl at gcc dot gnu.org> ---
-mdouble and -mlong-double are more complicated than other options because they
depend on each other in way that (to my knowledge) cannot be described by
option properties. For example, in

-mdouble=64 -mlong-double=32

the second option will trigger -mdouble=32 in order to maintain double <= long
double.

This logic is implemented in avr-common.cc::avr_handle_option(), and maybe
that's the reason "Save" is needed?

Anyway, when the actions of avr_handle_option are changed by some attribue
handling, then the result will be wong code.  For example, when the above
options, for whatever reasons, would lead to double=64 longdouble=32 at some
point, wrong code will be generated.

Reply via email to