From: David Edelsohn Date: Mon, 2 Feb 2015 00:59:00 +0000 (-0500) Subject: re PR target/64047 (ICE: Segmentation fault when compiling gcc.dg/torture/pr52429.c) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=353f8ac5c1815925a2a699876b4b57b98dcc97cb;p=gcc.git 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 --- 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,