http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55742
--- Comment #39 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-19 10:14:04 UTC --- Then to fix that perhaps we want to change ix86_valid_target_attribute_tree and its caller. Currently ix86_valid_target_attribute_tree returns NULL_TREE both when the target string(s) are invalid (i.e. when ix86_valid_target_attribute_inner_p returned false) and when the target flags match the default ones. So, let's change ix86_valid_target_attribute_tree to e.g. return error_mark_node instead of NULL_TREE if the attribute is invalid, and NULL_TREE only if it matches the default. Then, ix86_valid_target_attribute_p could treat new_target == error_mark_node similarly to new_target == NULL_TREE with the exception of ret.