aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Edelsohn <dje@gcc.gnu.org>2015-02-01 19:59:00 -0500
committerDavid Edelsohn <dje@gcc.gnu.org>2015-02-01 19:59:00 -0500
commit353f8ac5c1815925a2a699876b4b57b98dcc97cb (patch)
treec5d3b3f12ae9f96fc042387574c82e0b33de1f34
parentfb9696999283f9f2b505a6439ef299c7dc7bfc31 (diff)
downloadgcc-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
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/config/rs6000/rs6000.c4
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,