From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.web08.7910.1606316701554996547 for ; Wed, 25 Nov 2020 07:05:01 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ard.biesheuvel@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2E522106F; Wed, 25 Nov 2020 07:05:01 -0800 (PST) Received: from [192.168.1.81] (unknown [10.37.8.72]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 346983F70D; Wed, 25 Nov 2020 07:05:00 -0800 (PST) Subject: Re: [edk2-platforms] [PATCH v3] Platform/ARM/SgiPkg: Fix constant-logical-operand clang error To: Vijayenthiran Subramaniam , devel@edk2.groups.io, leif@nuviainc.com, thomas.abraham@arm.com References: <1606314630-13316-1-git-send-email-vijayenthiran.subramaniam@arm.com> From: "Ard Biesheuvel" Message-ID: <61896e63-567a-bb9f-aa23-62d99b559d00@arm.com> Date: Wed, 25 Nov 2020 16:04:58 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: <1606314630-13316-1-git-send-email-vijayenthiran.subramaniam@arm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit On 11/25/20 3:30 PM, Vijayenthiran Subramaniam wrote: > Fix "use of logical '&&' with constant operand" error when built with > CLANG38 toolchain. > > Reviewed-by: Thomas Abraham > Signed-off-by: Vijayenthiran Subramaniam > --- > > Changes since v2: > - Reviewed-bys added from: > https://edk2.groups.io/g/devel/topic/71391950#55868 > - Rebased to latest master and repost. > > Changes since v1: > - Fix Copyright year > > Note: > Fix Clan error reported by Leif in > https://edk2.groups.io/g/devel/message/54586 > > Platform/ARM/SgiPkg/Drivers/PlatformDxe/VirtioDevices.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/Platform/ARM/SgiPkg/Drivers/PlatformDxe/VirtioDevices.c b/Platform/ARM/SgiPkg/Drivers/PlatformDxe/VirtioDevices.c > index 9e5f7e70..f91724b9 100644 > --- a/Platform/ARM/SgiPkg/Drivers/PlatformDxe/VirtioDevices.c > +++ b/Platform/ARM/SgiPkg/Drivers/PlatformDxe/VirtioDevices.c > @@ -1,6 +1,6 @@ > /** @file > > - Copyright (c) 2018, ARM Ltd. All rights reserved.
> + Copyright (c) 2018-2020, ARM Limited. All rights reserved. > > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -81,8 +81,8 @@ InitVirtioDevices ( > STATIC EFI_HANDLE mVirtIoNetController = NULL; > > // Install protocol interface for storage device > - if ((FeaturePcdGet (PcdVirtioBlkSupported)) && > - (FixedPcdGet32 (PcdVirtioBlkBaseAddress))) { > + if ((FeaturePcdGet (PcdVirtioBlkSupported) == TRUE) && > + (FixedPcdGet32 (PcdVirtioBlkBaseAddress) != 0)) { Nack Please fix this by disabling this bogus warning in the compiler. The original code is perfectly reasonable, and comparing a boolean expression to TRUE could equally trigger a diagnostic in another compiler for being redundant. (The != 0 check for a UINT32 is fine) > Status = gBS->InstallProtocolInterface (&mVirtIoBlkController, > &gEfiDevicePathProtocolGuid, EFI_NATIVE_INTERFACE, > &mVirtioBlockDevicePath); > @@ -110,8 +110,8 @@ InitVirtioDevices ( > } > > // Install protocol interface for network device > - if ((FeaturePcdGet (PcdVirtioNetSupported)) && > - (FixedPcdGet32 (PcdVirtioNetBaseAddress))) { > + if ((FeaturePcdGet (PcdVirtioNetSupported) == TRUE) && > + (FixedPcdGet32 (PcdVirtioNetBaseAddress) != 0)) { > Status = gBS->InstallProtocolInterface (&mVirtIoNetController, > &gEfiDevicePathProtocolGuid, EFI_NATIVE_INTERFACE, > &mVirtioNetDevicePath); >