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.

Best regards,

Mike

> -----Original Message-----
> From: Laszlo Ersek [mailto:ler...@redhat.com]
> Sent: Friday, April 26, 2019 9:49 AM
> To: Ard Biesheuvel <ard.biesheu...@linaro.org>; Kinney,
> Michael D <michael.d.kin...@intel.com>
> Cc: devel@edk2.groups.io; Gao, Zhichao
> <zhichao....@intel.com>; Gao, Liming
> <liming....@intel.com>; Bi, Dandan <dandan...@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.kin...@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

-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#39791): https://edk2.groups.io/g/devel/message/39791
Mute This Topic: https://groups.io/mt/31318888/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to