From 353f8ac5c1815925a2a699876b4b57b98dcc97cb Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Sun, 1 Feb 2015 19:59:00 -0500 Subject: [PATCH] re PR target/64047 (ICE: Segmentation fault when compiling gcc.dg/torture/pr52429.c) PR target/64047 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle explicit default options. From-SVN: r220340 --- gcc/ChangeLog | 8 +++++++- gcc/config/rs6000/rs6000.c | 4 ++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 548e5dcd26c..3dcb6db8f37 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,10 @@ -2015-01-29 Jan Hubicka +2015-02-01 David Edelsohn + + PR target/64047 + * config/rs6000/rs6000.c (rs6000_set_current_function): Handle + explicit default options. + +2015-02-01 Jan Hubicka PR ipa/64872 * ipa-utils.c (ipa_merge_profiles): Add release argument. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 9bccf727fd2..661995cd081 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -32625,7 +32625,7 @@ rs6000_set_current_function (tree fndecl) if (old_tree == new_tree) ; - else if (new_tree) + else if (new_tree && new_tree != target_option_default_node) { cl_target_option_restore (&global_options, TREE_TARGET_OPTION (new_tree)); @@ -32636,7 +32636,7 @@ rs6000_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; cl_target_option_restore (&global_options, -- 2.30.2