diff options
author | David Edelsohn <dje@gcc.gnu.org> | 2015-02-01 19:59:00 -0500 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2015-02-01 19:59:00 -0500 |
commit | 353f8ac5c1815925a2a699876b4b57b98dcc97cb (patch) | |
tree | c5d3b3f12ae9f96fc042387574c82e0b33de1f34 /gcc | |
parent | fb9696999283f9f2b505a6439ef299c7dc7bfc31 (diff) | |
download | gcc-353f8ac5c1815925a2a699876b4b57b98dcc97cb.zip gcc-353f8ac5c1815925a2a699876b4b57b98dcc97cb.tar.gz gcc-353f8ac5c1815925a2a699876b4b57b98dcc97cb.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 8 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 4 |
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 548e5dc..3dcb6db 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,4 +1,10 @@ -2015-01-29 Jan Hubicka <hubicka@ucw.cz> +2015-02-01 David Edelsohn <dje.gcc@gmail.com> + + PR target/64047 + * config/rs6000/rs6000.c (rs6000_set_current_function): Handle + explicit default options. + +2015-02-01 Jan Hubicka <hubicka@ucw.cz> 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 9bccf72..661995c 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, |