re PR ipa/64550 (IPA fixes cause ICE in tree-ssa.c:939)
authorChen Gang <gang.chen.5i5j@gmail.com>
Mon, 12 Jan 2015 09:02:33 +0000 (09:02 +0000)
committerMartin Liska <marxin@gcc.gnu.org>
Mon, 12 Jan 2015 09:02:33 +0000 (09:02 +0000)
PR ipa/64550

        PR ipa/64551
PR ipa/64552
* ipa-icf.c (sem_function::equals_private): Use '&&' instead of
'||' to fix typo issue.

* gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
accept and return NULL.

From-SVN: r219449

gcc/ChangeLog
gcc/ipa-icf.c
gcc/tree.h

index 1abad52e9c240136d3040943d2ac73cd0392541e..6c592a79a9a2816532397790da1fc52f5f5b60c8 100644 (file)
@@ -1,3 +1,14 @@
+2015-01-12  Chen Gang  <gang.chen.5i5j@gmail.com>
+
+       PR ipa/64550
+       PR ipa/64551
+       PR ipa/64552
+       * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
+       '||' to fix typo issue.
+
+       * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
+       accept and return NULL.
+
 2015-01-12  Martin Liska  <mliska@suse.cz>
 
        * cgraph.c (cgraph_edge::remove_callee): Move function to header
index 1b76a1df372ddfa8a7f2f66160078c76f4d836d4..4ccaf8cb90f46460754fd2f619dc1dadbb59a273 100644 (file)
@@ -438,7 +438,7 @@ sem_function::equals_private (sem_item *item,
   cl_target_option *tar1 = target_opts_for_fn (decl);
   cl_target_option *tar2 = target_opts_for_fn (m_compared_func->decl);
 
-  if (tar1 != NULL || tar2 != NULL)
+  if (tar1 != NULL && tar2 != NULL)
     {
       if (!cl_target_option_eq (tar1, tar2))
        {
index fc8c8fe5a90033a2fa346f828e4359360e58830e..ac2726811fa82ff2837470b48952a5e81483e2f2 100644 (file)
@@ -4640,7 +4640,7 @@ target_opts_for_fn (const_tree fndecl)
   tree fn_opts = DECL_FUNCTION_SPECIFIC_TARGET (fndecl);
   if (fn_opts == NULL_TREE)
     fn_opts = target_option_default_node;
-  return TREE_TARGET_OPTION (fn_opts);
+  return fn_opts == NULL_TREE ? NULL : TREE_TARGET_OPTION (fn_opts);
 }
 
 /* opt flag for function FNDECL, e.g. opts_for_fn (fndecl, optimize) is