Reviewed-by: Michael D Kinney <michael.d.kin...@intel.com>
> -----Original Message----- > From: Rebecca Cran <rebe...@bsdio.com> > Sent: Monday, February 3, 2025 10:46 AM > To: devel@edk2.groups.io; Kinney, Michael D > <michael.d.kin...@intel.com>; Sean Brogan <spbro...@outlook.com>; > Oliver Smith-Denny <o...@linux.microsoft.com>; Pedro Falcato > <pedro.falc...@gmail.com> > Cc: Rebecca Cran <rebe...@bsdio.com> > Subject: [PATCH edk2-CCodingStandardsSpecification v3 1/1] Prefer use > of `static` C keyword over EDK2 type `STATIC` > > A while ago a decision was made on the edk2-devel mailing list that > the `STATIC` EDK2 type should be replaced with the C keyword `static`. > Following further discussion, it was decided to disallow static local > variables to prevent breakage when using GoogleTest. > > Update the Coding Specification to match. While here, remove the > outdated section disallowing static functions since they're no longer > a problem. > > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Rebecca Cran <rebe...@bsdio.com> > --- > 5_source_files/54_code_file_structure.md | 9 ++------- > 5_source_files/56_declarations_and_types.md | 2 +- > README.md | 3 ++- > 3 files changed, 5 insertions(+), 9 deletions(-) > > diff --git a/5_source_files/54_code_file_structure.md > b/5_source_files/54_code_file_structure.md > index 0c4d6a26820c..c286b273fe42 100644 > --- a/5_source_files/54_code_file_structure.md > +++ b/5_source_files/54_code_file_structure.md > @@ -269,7 +269,8 @@ other than at the top level of a file as specified > by this document. > > #### 5.4.2.2 Static > > -An object declared `STATIC` has either file or block scope. > +An object declared `static` has file scope. > +Objects may not be declared 'static' within functions. > > ##### 5.4.2.2.1 Do not reuse an object or function identifier with > static storage duration. > > @@ -277,9 +278,3 @@ Throughout the set of source files defined within > a single .inf file, do not > reuse an identifier with static storage duration. The compiler may > not be > confused by this, but the user may confuse unrelated variables with > the same > name. > - > -##### 5.4.2.2.2 Functions should not be declared STATIC. > - > -Some source-level debuggers are unable to resolve static functions. > Until it > -can be verified that no one is dependent upon a debugger with this > limitation, > -it is strongly recommended that functions not be declared static. > diff --git a/5_source_files/56_declarations_and_types.md > b/5_source_files/56_declarations_and_types.md > index ec1803d980e1..77e3ce99c457 100644 > --- a/5_source_files/56_declarations_and_types.md > +++ b/5_source_files/56_declarations_and_types.md > @@ -38,7 +38,7 @@ > Any abstract type that is defined must be constructed from other > abstract types > or from common EFI data types. > > -#### 5.6.1.2 The use of int, unsigned, char, void, static, long is a > violation of the coding convention. > +#### 5.6.1.2 The use of int, unsigned, char, void, long is a > violation of the coding convention. > > The corresponding EFI types must be used instead. > > diff --git a/README.md b/README.md > index 77cfdc8906b1..a8da462c3c46 100644 > --- a/README.md > +++ b/README.md > @@ -114,4 +114,5 @@ Copyright (c) 2006-2017, Intel Corporation. All > rights reserved. > | | > [#425](https://bugzilla.tianocore.org/show_bug.cgi?id=425) [CCS] > clarify line breaking and indentation requirements for multi-line > function calls | | > | | > [#1656](https://bugzilla.tianocore.org/show_bug.cgi?id=1656) Update > all Wiki pages for the BSD+Patent license change with SPDX identifiers > | | > | | > [#607](https://bugzilla.tianocore.org/show_bug.cgi?id=607) Document > code comment requirements for spurious variable assignments > | | > -| 2.3 | Add 4.2 Directory names section and update File names > section for the guidelines of module directory and file > naming|September 2022|| > +| 2.3 | Add 4.2 Directory names section and update File names > section for the guidelines of module directory and file naming > |September 2022| > +| 2.4 | The use of the 'static' C keyword is now preferred over > the EDK2 type 'STATIC' > |February 2025| > -- > 2.48.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#121077): https://edk2.groups.io/g/devel/message/121077 Mute This Topic: https://groups.io/mt/110977230/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-