From 0c80c644641f67b18661a63b19c47074b308bc18 Mon Sep 17 00:00:00 2001 From: Simon Marchi Date: Sat, 15 Jan 2022 22:13:07 -0500 Subject: [PATCH] bfd/elf64-ppc.c: fix clang -Wbitwise-instead-of-logical warning in ppc64_elf_check_init_fini I see this error with clang-14: CC elf64-ppc.lo /home/smarchi/src/binutils-gdb/bfd/elf64-ppc.c:13131:11: error: use of bitwise '&' with boolean operands [-Werror,-Wbitwise-instead-of-logical] return (check_pasted_section (info, ".init") ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fix by replacing & with &&. But given that the check_pasted_section function has side-effects and we want to make sure both calls are made, assign to temporary variables before evaluating the `&&`. Change-Id: I849e1b2401bea5f4d8ef3ab9af99ba9e3ef42490 --- bfd/elf64-ppc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 0f945797b49..923c7a3b407 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -13202,8 +13202,10 @@ check_pasted_section (struct bfd_link_info *info, const char *name) bool ppc64_elf_check_init_fini (struct bfd_link_info *info) { - return (check_pasted_section (info, ".init") - & check_pasted_section (info, ".fini")); + bool ret1 = check_pasted_section (info, ".init"); + bool ret2 = check_pasted_section (info, ".fini"); + + return ret1 && ret2; } /* See whether we can group stub sections together. Grouping stub -- 2.30.2