diff options
author | Christian Bruel <christian.bruel@st.com> | 2015-06-19 08:58:22 +0200 |
---|---|---|
committer | Christian Bruel <chrbr@gcc.gnu.org> | 2015-06-19 08:58:22 +0200 |
commit | a19d9c69e41c29ee153e5adb5817b9bacadaa8b4 (patch) | |
tree | c2ea2a7e12df1fda81ce117d665d56358a1cc045 | |
parent | 36f1dbb02fe5f99bc02730d8f265002994ddf7c7 (diff) | |
download | gcc-a19d9c69e41c29ee153e5adb5817b9bacadaa8b4.zip gcc-a19d9c69e41c29ee153e5adb5817b9bacadaa8b4.tar.gz gcc-a19d9c69e41c29ee153e5adb5817b9bacadaa8b4.tar.bz2 |
re PR target/66541 (r224314 causes ICE in gcc.dg/torture/pr52429.c)
PR target/66541
PR target/52144
* config/arm/arm.c (arm_set_current_function): Handle
explicit default options.
From-SVN: r224638
-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; |