public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-platforms] [PATCH v3] Platform/ARM/SgiPkg: Fix constant-logical-operand clang error
@ 2020-11-25 14:30 Vijayenthiran Subramaniam
  2020-11-25 15:04 ` Ard Biesheuvel
  2020-11-25 17:58 ` Leif Lindholm
  0 siblings, 2 replies; 7+ messages in thread
From: Vijayenthiran Subramaniam @ 2020-11-25 14:30 UTC (permalink / raw)
  To: devel, leif, Ard.Biesheuvel, thomas.abraham

Fix "use of logical '&&' with constant operand" error when built with
CLANG38 toolchain.

Reviewed-by: Thomas Abraham <thomas.abraham@arm.com>
Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
---

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.<BR>
+  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)) {
     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);
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [edk2-platforms] [PATCH v3] Platform/ARM/SgiPkg: Fix constant-logical-operand clang error
  2020-11-25 14:30 [edk2-platforms] [PATCH v3] Platform/ARM/SgiPkg: Fix constant-logical-operand clang error Vijayenthiran Subramaniam
@ 2020-11-25 15:04 ` Ard Biesheuvel
  2020-11-26 13:21   ` [edk2-devel] " Vijayenthiran Subramaniam
  2020-11-27 10:45   ` Vijayenthiran Subramaniam
  2020-11-25 17:58 ` Leif Lindholm
  1 sibling, 2 replies; 7+ messages in thread
From: Ard Biesheuvel @ 2020-11-25 15:04 UTC (permalink / raw)
  To: Vijayenthiran Subramaniam, devel, leif, thomas.abraham

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 <thomas.abraham@arm.com>
> Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
> ---
> 
> 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.<BR>
> +  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);
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [edk2-platforms] [PATCH v3] Platform/ARM/SgiPkg: Fix constant-logical-operand clang error
  2020-11-25 14:30 [edk2-platforms] [PATCH v3] Platform/ARM/SgiPkg: Fix constant-logical-operand clang error Vijayenthiran Subramaniam
  2020-11-25 15:04 ` Ard Biesheuvel
@ 2020-11-25 17:58 ` Leif Lindholm
  2020-11-27 12:31   ` [edk2-devel] " Vijayenthiran Subramaniam
  1 sibling, 1 reply; 7+ messages in thread
From: Leif Lindholm @ 2020-11-25 17:58 UTC (permalink / raw)
  To: Vijayenthiran Subramaniam; +Cc: devel, Ard.Biesheuvel, thomas.abraham

On Wed, Nov 25, 2020 at 20:00:30 +0530, Vijayenthiran Subramaniam wrote:
> Fix "use of logical '&&' with constant operand" error when built with
> CLANG38 toolchain.

CLANG38 is the toolchain profile in the build system, it is highly
unlikely you are actually building with clang 3.8.
clang --version tells you the toolchain *version*.

> Reviewed-by: Thomas Abraham <thomas.abraham@arm.com>
> Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
> ---
> 
> 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.<BR>
> +  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)) {
>      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);
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [edk2-devel] [edk2-platforms] [PATCH v3] Platform/ARM/SgiPkg: Fix constant-logical-operand clang error
  2020-11-25 15:04 ` Ard Biesheuvel
@ 2020-11-26 13:21   ` Vijayenthiran Subramaniam
  2020-11-27 10:45   ` Vijayenthiran Subramaniam
  1 sibling, 0 replies; 7+ messages in thread
From: Vijayenthiran Subramaniam @ 2020-11-26 13:21 UTC (permalink / raw)
  To: devel, ard.biesheuvel; +Cc: Vijayenthiran Subramaniam, leif, thomas.abraham

Hi Ard,

On Wed, Nov 25, 2020 at 3:05 PM Ard Biesheuvel <ard.biesheuvel@arm.com> wrote:
>
> 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 <thomas.abraham@arm.com>
> > Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
> > ---
> >
> > 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.<BR>
> > +  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)

As you suggested, Boolean comparison with TRUE is not required for
CLANG as well. But != 0 check for UINT32 is required to fix the error while
building with the CLANG toolchain profile. Would it be ok if I post another
version with just != 0 check with UNT32?

Regards,
Vijayenthiran

>
> >       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);
> >

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [edk2-devel] [edk2-platforms] [PATCH v3] Platform/ARM/SgiPkg: Fix constant-logical-operand clang error
  2020-11-25 15:04 ` Ard Biesheuvel
  2020-11-26 13:21   ` [edk2-devel] " Vijayenthiran Subramaniam
@ 2020-11-27 10:45   ` Vijayenthiran Subramaniam
  2020-11-27 11:27     ` Ard Biesheuvel
  1 sibling, 1 reply; 7+ messages in thread
From: Vijayenthiran Subramaniam @ 2020-11-27 10:45 UTC (permalink / raw)
  To: devel, ard.biesheuvel; +Cc: Vijayenthiran Subramaniam, leif, thomas.abraham

Hi Ard,

On Wed, Nov 25, 2020 at 3:05 PM Ard Biesheuvel <ard.biesheuvel@arm.com> wrote:
>
> 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 <thomas.abraham@arm.com>
> > Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
> > ---
> >
> > 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.<BR>
> > +  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)

As you suggested, Boolean comparison with TRUE is not required for
CLANG as well. But != 0 check for UINT32 is required to fix the error while
building with the CLANG toolchain profile. Would it be ok if I post another
version with just != 0 check with UNT32?

Regards,
Vijayenthiran

>
> >       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);
> >

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [edk2-devel] [edk2-platforms] [PATCH v3] Platform/ARM/SgiPkg: Fix constant-logical-operand clang error
  2020-11-27 10:45   ` Vijayenthiran Subramaniam
@ 2020-11-27 11:27     ` Ard Biesheuvel
  0 siblings, 0 replies; 7+ messages in thread
From: Ard Biesheuvel @ 2020-11-27 11:27 UTC (permalink / raw)
  To: Vijayenthiran Subramanian, devel; +Cc: leif, thomas.abraham

On 11/27/20 11:45 AM, Vijayenthiran Subramanian wrote:
> Hi Ard,
> 
> On Wed, Nov 25, 2020 at 3:05 PM Ard Biesheuvel <ard.biesheuvel@arm.com> wrote:
>>
>> 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 <thomas.abraham@arm.com>
>>> Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
>>> ---
>>>
>>> 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.<BR>
>>> +  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)
> 
> As you suggested, Boolean comparison with TRUE is not required for
> CLANG as well. But != 0 check for UINT32 is required to fix the error while
> building with the CLANG toolchain profile. Would it be ok if I post another
> version with just != 0 check with UNT32?
> 

Yes, that is fine.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [edk2-devel] [edk2-platforms] [PATCH v3] Platform/ARM/SgiPkg: Fix constant-logical-operand clang error
  2020-11-25 17:58 ` Leif Lindholm
@ 2020-11-27 12:31   ` Vijayenthiran Subramaniam
  0 siblings, 0 replies; 7+ messages in thread
From: Vijayenthiran Subramaniam @ 2020-11-27 12:31 UTC (permalink / raw)
  To: devel, leif; +Cc: Vijayenthiran Subramaniam, Ard.Biesheuvel, thomas.abraham

Hi Leif,

On Wed, Nov 25, 2020 at 5:58 PM Leif Lindholm <leif@nuviainc.com> wrote:
>
> On Wed, Nov 25, 2020 at 20:00:30 +0530, Vijayenthiran Subramaniam wrote:
> > Fix "use of logical '&&' with constant operand" error when built with
> > CLANG38 toolchain.
>
> CLANG38 is the toolchain profile in the build system, it is highly
> unlikely you are actually building with clang 3.8.
> clang --version tells you the toolchain *version*.

I will update the commit message in v3.

Thanks,
Vijay

> > Reviewed-by: Thomas Abraham <thomas.abraham@arm.com>
> > Signed-off-by: Vijayenthiran Subramaniam <vijayenthiran.subramaniam@arm.com>
> > ---
> >
> > 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.<BR>
> > +  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)) {
> >      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);
> > --
> > 2.17.1
> >
>
>
> 
>
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-11-27 12:31 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-11-25 14:30 [edk2-platforms] [PATCH v3] Platform/ARM/SgiPkg: Fix constant-logical-operand clang error Vijayenthiran Subramaniam
2020-11-25 15:04 ` Ard Biesheuvel
2020-11-26 13:21   ` [edk2-devel] " Vijayenthiran Subramaniam
2020-11-27 10:45   ` Vijayenthiran Subramaniam
2020-11-27 11:27     ` Ard Biesheuvel
2020-11-25 17:58 ` Leif Lindholm
2020-11-27 12:31   ` [edk2-devel] " Vijayenthiran Subramaniam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox