diff options
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/arm/arm.c | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 25628fa..28494ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-06-19 Christian Bruel <christian.bruel@st.com> + + PR target/66541 + PR target/52144 + * config/arm/arm.c (arm_set_current_function): Handle + explicit default options. + 2015-06-18 Uros Bizjak <ubizjak@gmail.com> * config/i386/i386.md (*movsicc_noc_zext): New insn. diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index d794fc0..e79a369 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -29351,9 +29351,9 @@ arm_set_current_function (tree fndecl) arm_previous_fndecl = fndecl; if (old_tree == new_tree) - ; + return; - else if (new_tree) + if (new_tree && new_tree != target_option_default_node) { cl_target_option_restore (&global_options, TREE_TARGET_OPTION (new_tree)); @@ -29365,7 +29365,7 @@ arm_set_current_function (tree fndecl) = save_target_globals_default_opts (); } - else if (old_tree) + else if (old_tree && old_tree != target_option_default_node) { new_tree = target_option_current_node; |