public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Laszlo Ersek" <lersek@redhat.com>
To: "Kinney, Michael D" <michael.d.kinney@intel.com>,
	Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: "devel@edk2.groups.io" <devel@edk2.groups.io>,
	"Gao, Zhichao" <zhichao.gao@intel.com>,
	"Gao, Liming" <liming.gao@intel.com>,
	"Bi, Dandan" <dandan.bi@intel.com>
Subject: Re: [edk2-devel] [PATCH V2 3/8] MdePkg/UefiDebugLibStdErr: Decrease the name collisions
Date: Tue, 30 Apr 2019 11:43:22 +0200	[thread overview]
Message-ID: <058199df-cd93-feab-267f-adf300991a1d@redhat.com> (raw)
In-Reply-To: <E92EE9817A31E24EB0585FDF735412F5B9C9F89C@ORSMSX113.amr.corp.intel.com>

On 04/29/19 18:40, Kinney, Michael D wrote:
> Hi Laszlo,
> 
> I have entered 2 BZ for the STATIC -> static conversion.
> one for the EDK II C Coding Standard Specification and 
> one for the C code in EDK II.
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=1766
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=1767
> 
> Converting all CONST -> const will require additional 
> discussion because the UEFI Specification defines the 
> keyword 'CONST' in Section 2.3.1 - Data Types and is
> consistently used in APIs defined in the UEFI/PI 
> Specifications.

Good point, thanks!
Laszlo

> 
> Best regards,
> 
> Mike
> 
>> -----Original Message-----
>> From: Laszlo Ersek [mailto:lersek@redhat.com]
>> Sent: Friday, April 26, 2019 9:49 AM
>> To: Ard Biesheuvel <ard.biesheuvel@linaro.org>; Kinney,
>> Michael D <michael.d.kinney@intel.com>
>> Cc: devel@edk2.groups.io; Gao, Zhichao
>> <zhichao.gao@intel.com>; Gao, Liming
>> <liming.gao@intel.com>; Bi, Dandan <dandan.bi@intel.com>
>> Subject: Re: [edk2-devel] [PATCH V2 3/8]
>> MdePkg/UefiDebugLibStdErr: Decrease the name collisions
>>
>> On 04/24/19 19:09, Ard Biesheuvel wrote:
>>> On Wed, 24 Apr 2019 at 18:59, Kinney, Michael D
>>> <michael.d.kinney@intel.com> wrote:
>>>>
>>>> Hi Ard,
>>>>
>>>> I see a mix of use of 'static' and 'STATIC' in the
>> sources.
>>>>
>>>> The reason to use STATIC is if it needs to be
>> replaced with
>>>> something other than 'static' for a specific compiler
>> or
>>>> debug scenario.
>>>>
>>>> Long ago, there were some source level debug issue
>> with
>>>> 'static' symbols, so using the macro STATIC was
>> preferred
>>>> so it could be mapped to nothing for a debug
>> scenario. That
>>>> issue no long exists.
>>>>
>>>> Do you know of a reason today to map 'STATIC' to
>> anything
>>>> Other than 'static'?
>>>>
>>>> I also looked at the EDK II C Coding Standard.  It is
>> also
>>>> inconsistent and had references to both 'static' and
>> 'STATIC'.
>>>> We should enter a few BZs to update that doc once we
>> have
>>>> clear guidance from this discussion.
>>>>
>>>
>>> I wasn't aware that lower case static is also in use,
>> so I was simply
>>> extrapolating from personal experience.
>>
>> +1
>>
>>> i think there should be no reason to use the
>> preprocessor to change
>>> 'static' into something else, and so I'm happy to
>> settle on lowercase
>>> static, as long as we are consistent.
>>
>> +1 (same for CONST / const)
>>
>>> But more importantly, now that
>>> this has come up, what I would like to do is make
>> 'static' mandatory
>>> unless the code requires otherwise: this results in
>> much better code
>>> generation (given that the compiler can infer
>> constness for non-const
>>> static variables but not for ones with external
>> linkage) and generally
>>> improves programmer hygiene when it comes to linking
>> to arbitrary
>>> symbols that are really internal to a library.
>>
>> I agree; for new code, giving internal linkage to as
>> many as possible
>> objects that have static storage duration is the way to
>> go. ("Make as
>> many globals 'static' as you can.")
>>
>> Thanks
>> Laszlo


  reply	other threads:[~2019-04-30  9:43 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-24  4:58 [PATCH V2 0/8] Decrease the name collisions Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 1/8] MdePkg/UefiDebugLibConOut: " Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 2/8] MdePkg/UefiDebugLibDebugPortProtocol: " Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 3/8] MdePkg/UefiDebugLibStdErr: " Gao, Zhichao
2019-04-24  8:07   ` [edk2-devel] " Ard Biesheuvel
2019-04-24 16:59     ` Michael D Kinney
2019-04-24 17:09       ` Ard Biesheuvel
2019-04-24 17:31         ` Michael D Kinney
2019-04-24 17:51           ` Ard Biesheuvel
2019-10-15 11:20           ` Leif Lindholm
2019-04-26 16:49         ` Laszlo Ersek
2019-04-29 16:40           ` Michael D Kinney
2019-04-30  9:43             ` Laszlo Ersek [this message]
2019-04-24  4:58 ` [PATCH V2 4/8] IntelFrameworkModulePkg: " Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 5/8] MdeModulePkg/FirmwarePerformanceDxe: " Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 6/8] IntelFsp2WrapperPkg/FspWrapperNotifyDxe: " Gao, Zhichao
2019-04-24  5:19   ` Chiu, Chasel
2019-04-24  5:27   ` Nate DeSimone
2019-04-24  4:58 ` [PATCH V2 7/8] IntelFrameworkModulePkg: " Gao, Zhichao
2019-04-24  4:58 ` [PATCH V2 8/8] MdeModulePkg/StatusCodeHandlerRuntimeDxe: " Gao, Zhichao
2019-04-24 11:16 ` [PATCH V2 0/8] " Laszlo Ersek
2019-04-25  7:00   ` Gao, Zhichao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=058199df-cd93-feab-267f-adf300991a1d@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox