re PR target/64047 (ICE: Segmentation fault when compiling gcc.dg/torture/pr52429.c)
authorDavid Edelsohn <dje@gcc.gnu.org>
Mon, 2 Feb 2015 00:59:00 +0000 (19:59 -0500)
committerDavid Edelsohn <dje@gcc.gnu.org>
Mon, 2 Feb 2015 00:59:00 +0000 (19:59 -0500)
        PR target/64047
        * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
        explicit default options.

From-SVN: r220340

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 548e5dcd26c69cd298309df3c0481510bbf36c22..3dcb6db8f37bc810df94e467aa2e97c837554f25 100644 (file)
@@ -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.
index 9bccf727fd22d1391edad4c2fc038801ef99bbce..661995cd08159a72ab3edd6f04a3c820c4e905c1 100644 (file)
@@ -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,