diff options
author | Chen Gang <gang.chen.5i5j@gmail.com> | 2015-01-12 09:02:33 +0000 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2015-01-12 09:02:33 +0000 |
commit | 9f54bf9c6f018c60c634be0521119b8727efffeb (patch) | |
tree | 9806beb17024f00e596ca7cc45df605dac10a4c2 /gcc | |
parent | 90988f773c8e516007ead0d0d602a7c1708ddc23 (diff) | |
download | gcc-9f54bf9c6f018c60c634be0521119b8727efffeb.zip gcc-9f54bf9c6f018c60c634be0521119b8727efffeb.tar.gz gcc-9f54bf9c6f018c60c634be0521119b8727efffeb.tar.bz2 |
re PR ipa/64550 (IPA fixes cause ICE in tree-ssa.c:939)
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/ipa-icf.c | 2 | ||||
-rw-r--r-- | gcc/tree.h | 2 |
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)) { @@ -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 |