------- Comment #54 from jakub at gcc dot gnu dot org 2009-09-23 14:30 ------- For target masks, the target override routine checks the *_explicit flag and only changes it to the default if it wasn't explicit. For other variables, usually the variable is initialized to some other value (-1 usually) in *.opt, then the target has a chance to override it in its override routine (if it is still that special value at that point) and finally the generic code sets it to the default value if it is still the special value.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41405