From: "Michael D Kinney via groups.io" <michael.d.kinney=intel.com@groups.io>
To: Rebecca Cran <rebecca@bsdio.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>,
Sean Brogan <spbrogan@outlook.com>,
"Oliver Smith-Denny" <osde@linux.microsoft.com>,
Pedro Falcato <pedro.falcato@gmail.com>
Cc: "Kinney, Michael D" <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [PATCH edk2-CCodingStandardsSpecification v3 1/1] Prefer use of `static` C keyword over EDK2 type `STATIC`
Date: Mon, 3 Feb 2025 19:09:25 +0000 [thread overview]
Message-ID: <CO1PR11MB49290A03462B3755A1A61F6CD2F52@CO1PR11MB4929.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20250203184548.2528198-2-rebecca@bsdio.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
> -----Original Message-----
> From: Rebecca Cran <rebecca@bsdio.com>
> Sent: Monday, February 3, 2025 10:46 AM
> To: devel@edk2.groups.io; Kinney, Michael D
> <michael.d.kinney@intel.com>; Sean Brogan <spbrogan@outlook.com>;
> Oliver Smith-Denny <osde@linux.microsoft.com>; Pedro Falcato
> <pedro.falcato@gmail.com>
> Cc: Rebecca Cran <rebecca@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 <rebecca@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/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
prev parent reply other threads:[~2025-02-03 19:09 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-03 18:45 [edk2-devel] [PATCH edk2-CCodingStandardsSpecification v3 0/1] Prefer use of `static` C keyword over EDK2 type `STATIC` Rebecca Cran
2025-02-03 18:45 ` [edk2-devel] [PATCH edk2-CCodingStandardsSpecification v3 1/1] " Rebecca Cran
2025-02-03 19:09 ` Michael D Kinney via groups.io [this message]
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=CO1PR11MB49290A03462B3755A1A61F6CD2F52@CO1PR11MB4929.namprd11.prod.outlook.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