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: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 (#39833): https://edk2.groups.io/g/devel/message/39833 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] -=-=-=-=-=-=-=-=-=-=-=-