From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f65.google.com (mail-wm1-f65.google.com [209.85.128.65]) by mx.groups.io with SMTP id smtpd.web12.400.1589824294975748220 for ; Mon, 18 May 2020 10:51:35 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nuviainc-com.20150623.gappssmtp.com header.s=20150623 header.b=N0rvKzW2; spf=pass (domain: nuviainc.com, ip: 209.85.128.65, mailfrom: leif@nuviainc.com) Received: by mail-wm1-f65.google.com with SMTP id m12so406927wmc.0 for ; Mon, 18 May 2020 10:51:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nuviainc-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=AS5aK6TeYPSlcxuEQ+eLrlBYaeMn+Nly2KWR75nxnu0=; b=N0rvKzW2tPBlFc5D8u/TKEElACOE8WgIEymgYxytbDvIFjXSsR4E5euQNBPGG2fWEX u1NMwQD0/SVoc7OT24lxP0sX8eWXCjNf6oc3h5im5cQkd9BRu+OLZzL6iES6ZJkZ8J32 mLK9XD3DI8dVRhKmJca6jfXub+ep+9ygKcW8XYuCiPDGlla3sgIw1E6rCqvxQFr42SAk mtjFUcQCMEMDYz+tCZioqxrl5soJXmM5FEZrDpjStTPnSTjiDY1vhH74SDBn+cMVno0W /x11sUZ4A14mVvmLmjuCykSXaz475cn6RIZW+VKCuBCxBONkhUSm+jvPLA0nitehPDQd zw0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=AS5aK6TeYPSlcxuEQ+eLrlBYaeMn+Nly2KWR75nxnu0=; b=rdanF6xubGhvXSnzB8jhyanRXbQhXK/Id31oEoM5pk9FpncC7MBbN8RJNzXL0C6Kvt TtsO+9W7wRHkgkqmxf/hAGOSrsdFT28VJCNUzFOaKsfbw9ngvG7CrQYj8FF2CfOHFnvh rX9aMhuKNQ5BZYve5bjBY/wtL2Aazg9L9o3pOJL/BlzMxBkMufybX7F027tbHeLqrMpK 2bhjQ6qQKKs1B9ZPbJuJNPH9uQ69rT7E9EZCVWuucGcH47PD+TH/MkllwZ9xXoSALrBW qyu/AIsG1nyVb27gMwzDDYV4PnjsboOgDVVg5cU+ZApiHWBGP7lwQZoykEJVQGMYy4WD a7Pw== X-Gm-Message-State: AOAM531/HA6OVl/emvWlRCIIyMFPQaL4o8PRWIIlEsDWMika4NPrynoR NSwvaPhBv1InWA6HwwQPv5UcpA== X-Google-Smtp-Source: ABdhPJzWEaM02o3Ezm9twKVNMvQUzBF4Yeon/blIxPb+BrhHynKWqF8ZSZP0b/estxTx8HRlIiUOjA== X-Received: by 2002:a1c:e3d7:: with SMTP id a206mr468433wmh.141.1589824293519; Mon, 18 May 2020 10:51:33 -0700 (PDT) Return-Path: Received: from vanye ([2001:470:1f09:12f0:b26e:bfff:fea9:f1b8]) by smtp.gmail.com with ESMTPSA id j16sm17203982wru.13.2020.05.18.10.51.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2020 10:51:33 -0700 (PDT) Date: Mon, 18 May 2020 18:51:30 +0100 From: "Leif Lindholm" To: Sami Mujawar Cc: devel@edk2.groups.io, Alexei.Fedorov@arm.com, ard.biesheuvel@arm.com, Matteo.Carlini@arm.com, Laura.Moretta@arm.com, philmd@redhat.com, nd@arm.com Subject: Re: [PATCH v2 2/2] ArmPlatformPkg: Fix comparison of constants warning Message-ID: <20200518175130.GG10467@vanye> References: <20200518124646.45292-1-sami.mujawar@arm.com> <20200518124646.45292-3-sami.mujawar@arm.com> MIME-Version: 1.0 In-Reply-To: <20200518124646.45292-3-sami.mujawar@arm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Mon, May 18, 2020 at 13:46:46 +0100, Sami Mujawar wrote: > The VS2017 compiler reports 'warning C6326: potential > comparison of a constant with another constant' when > a fixed PCD value is compared with a constant value. > > The faulting code is as marked by '-->' below: > > --> if (FixedPcdGet32 (PL011UartInteger) != 0) { > Integer = FixedPcdGet32 (PL011UartInteger); > Fractional = FixedPcdGet32 (PL011UartFractional); > } else { > ... > > The macro FixedPcdGet32 (PL011UartInteger) evaluates > to a macro _PCD_VALUE_PL011UartInteger that is defined > by the build system to represent the UART Integer > value. Therefore, the VS2017 compiler reports the above > warning. > > In this case the warning reported by the Visual Studio > compiler does not evaluate to an issue. However, it can > be useful to detect potential issues in other scenarios. > Other compilers may either be incapable of detecting and > reporting comparison with constant warnings or may be > good at reducing false positives. So, it is definitely > useful to keep this warning enabled, and disabling it > case by case is a suitable option. > > Therefore, disable this warning for Visual studio > compilers using the pragma suppress directive that: > 'Pushes the current state of the pragma on the stack, > disables the specified warning for the next line, and > then pops the warning stack so that the pragma state > is reset.' > > Signed-off-by: Sami Mujawar Reviewed-by: Leif Lindholm However, this patch set is garbled. The cover-letter claims to be v3, 1/2 claims to be v1-resend and 2/2 claims to be v2. Please use git format-patch for generating your patches before sending out - that will do the right thing. / Leif > --- > > Notes: > v2: > - Update patch to selectively suppress comparison of [SAMI] > constant warning and submit as a separate series. > > v1: > - Fix comparison of constant warning reported by VS2017 [SAMI] > - Various feedbacks can be seen at: > https://edk2.groups.io/g/devel/topic/32999801#46278 > > ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c b/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c > index 2d3c279cce49304959953ec4a34b50e09a7d0045..3c915e1e8de22a0b0b4cc46d495a5a6cbc784013 100644 > --- a/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c > +++ b/ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.c > @@ -2,7 +2,7 @@ > Serial I/O Port library functions with no library constructor/destructor > > Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
> - Copyright (c) 2011 - 2019, ARM Ltd. All rights reserved.
> + Copyright (c) 2011 - 2020, ARM Ltd. All rights reserved.
> > SPDX-License-Identifier: BSD-2-Clause-Patent > > @@ -174,6 +174,14 @@ PL011UartInitializePort ( > // > > // If PL011 Integer value has been defined then always ignore the BAUD rate > +#if defined(_MSC_EXTENSIONS) > + // Suppress 'warning C6326' reported by Visual Studio compiler using > + // the suppress pragma directive that: 'Pushes the current state of > + // the pragma on the stack, disables the specified warning for the > + // next line, and then pops the warning stack so that the pragma state > + // is reset.' > +#pragma warning(suppress:6326) > +#endif > if (FixedPcdGet32 (PL011UartInteger) != 0) { > Integer = FixedPcdGet32 (PL011UartInteger); > Fractional = FixedPcdGet32 (PL011UartFractional); > -- > 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)' >