aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/ipa-icf.c2
-rw-r--r--gcc/tree.h2
3 files changed, 13 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1abad52..6c592a7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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
diff --git a/gcc/ipa-icf.c b/gcc/ipa-icf.c
index 1b76a1d..4ccaf8c 100644
--- a/gcc/ipa-icf.c
+++ b/gcc/ipa-icf.c
@@ -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))
{
diff --git a/gcc/tree.h b/gcc/tree.h
index fc8c8fe..ac27268 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -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