mirror of
https://github.com/tianocore/edk2
synced 2026-08-27 00:23:19 -04:00
IntelFsp2WrapperPkg: Replace include guards with #pragma once
Replace traditional `#ifndef`/`#define`/`#endif` include guards with
`#pragma` once.
`#pragma once` is a widely supported preprocessor directive that
prevents header files from being included multiple times. It is
supported by all toolchains used to build edk2: GCC, Clang/LLVM, and
MSVC.
Compared to macro-based include guards, `#pragma once`:
- Eliminates the risk of macro name collisions or copy/paste errors
where two headers inadvertently use the same guard macro.
- Eliminate inconsistency in the way include guard macros are named
(e.g., some files use `__FILE_H__`, others use `FILE_H_`, etc.).
- Reduces boilerplate (three lines replaced by one).
- Avoids polluting the macro namespace with guard symbols.
- Can improve build times as the preprocessor can skip re-opening the
file entirely, rather than re-reading it to find the matching
`#endif` ("multiple-include optimization").
- Note that some compilers may already optimize traditional include
guards, by recognzining the idiomatic pattern.
This change is made acknowledging that overall portability of the
code will technically be reduced, as `#pragma once` is not part of the
C/C++ standards.
However, this is considered acceptable given:
1. edk2 already defines a subset of supported compilers in
BaseTools/Conf/tools_def.template, all of which have supported
`#pragma once` for over two decades.
2. There have been concerns raised to the project about inconsistent
include guard naming and potential macro collisions.
Approximate compiler support dates:
- MSVC: Supported since Visual C++ 4.2 (1996)
- GCC: Supported since 3.4 (2004)
(http://gnu.ist.utl.pt/software/gcc/gcc-3.4/changes.html)
- Clang (LLVM based): Since initial release in 2007
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
This commit is contained in:
parent
86047d4742
commit
648ea00a19
10 changed files with 10 additions and 40 deletions
|
|
@ -6,8 +6,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
|||
|
||||
**/
|
||||
|
||||
#ifndef _FSP_MEASUREMENT_LIB_H_
|
||||
#define _FSP_MEASUREMENT_LIB_H_
|
||||
#pragma once
|
||||
|
||||
#define FSP_MEASURE_FSP BIT0
|
||||
#define FSP_MEASURE_FSPT BIT1
|
||||
|
|
@ -37,5 +36,3 @@ MeasureFspFirmwareBlob (
|
|||
IN EFI_PHYSICAL_ADDRESS FirmwareBlobBase,
|
||||
IN UINT64 FirmwareBlobLength
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef __FSP_WRAPPER_API_LIB_H__
|
||||
#define __FSP_WRAPPER_API_LIB_H__
|
||||
#pragma once
|
||||
|
||||
#include <FspEas.h>
|
||||
|
||||
|
|
@ -90,5 +89,3 @@ EFIAPI
|
|||
CallFspSmmInit (
|
||||
IN VOID *FspiUpdDataPtr
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef __FSP_WRAPPER_API_TEST_LIB_H__
|
||||
#define __FSP_WRAPPER_API_TEST_LIB_H__
|
||||
#pragma once
|
||||
|
||||
#include <PiPei.h>
|
||||
|
||||
|
|
@ -64,5 +63,3 @@ EFIAPI
|
|||
TestFspSmmInitApiOutput (
|
||||
IN VOID *FspiUpdDataPtr
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef __FSP_WRAPPER_HOB_PROCESS_LIB_H__
|
||||
#define __FSP_WRAPPER_HOB_PROCESS_LIB_H__
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
Post FSP-M HOB process for Memory Resource Descriptor.
|
||||
|
|
@ -47,5 +46,3 @@ EFIAPI
|
|||
PostFspiHobProcess (
|
||||
IN VOID *FspHobList
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef __FSP_WRAPPER_MULTI_PHASE_PROCESS_LIB_H__
|
||||
#define __FSP_WRAPPER_MULTI_PHASE_PROCESS_LIB_H__
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
FSP Wrapper Variable Request Handler
|
||||
|
|
@ -40,5 +39,3 @@ FspWrapperMultiPhaseHandler (
|
|||
IN OUT VOID **FspHobListPtr,
|
||||
IN UINT8 ComponentIndex
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef __FSP_WRAPPER_PLATFORM_LIB_H__
|
||||
#define __FSP_WRAPPER_PLATFORM_LIB_H__
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
This function overrides the default configurations in the FSP-M UPD data region.
|
||||
|
|
@ -88,5 +87,3 @@ EFIAPI
|
|||
UpdateFspiUpdData (
|
||||
IN OUT VOID *FspUpdRgnPtr
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef FSP_WRAPPER_PLATFORM_MULTI_PHASE_LIB_H_
|
||||
#define FSP_WRAPPER_PLATFORM_MULTI_PHASE_LIB_H_
|
||||
#pragma once
|
||||
|
||||
/**
|
||||
FSP Wrapper Platform MultiPhase Handler
|
||||
|
|
@ -26,5 +25,3 @@ FspWrapperPlatformMultiPhaseHandler (
|
|||
IN UINT8 ComponentIndex,
|
||||
IN UINT32 PhaseIndex
|
||||
);
|
||||
|
||||
#endif //FSP_WRAPPER_PLATFORM_MULTI_PHASE_LIB_H_
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef _FSP_SILICON_INIT_DONE_H_
|
||||
#define _FSP_SILICON_INIT_DONE_H_
|
||||
#pragma once
|
||||
|
||||
typedef struct _FSP_SILICON_INIT_DONE_PPI FSP_SILICON_INIT_DONE_PPI;
|
||||
|
||||
|
|
@ -33,5 +32,3 @@ struct _FSP_SILICON_INIT_DONE_PPI {
|
|||
};
|
||||
|
||||
extern EFI_GUID gFspSiliconInitDonePpiGuid;
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,9 +6,6 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef _TOP_OF_TEMPORARY_RAM_H_
|
||||
#define _TOP_OF_TEMPORARY_RAM_H_
|
||||
#pragma once
|
||||
|
||||
extern EFI_GUID gTopOfTemporaryRamPpiGuid;
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6,8 +6,7 @@
|
|||
|
||||
**/
|
||||
|
||||
#ifndef __FSP_H__
|
||||
#define __FSP_H__
|
||||
#pragma once
|
||||
|
||||
//
|
||||
// Fv Header
|
||||
|
|
@ -41,5 +40,3 @@
|
|||
//
|
||||
#define FSP_HEADER_IMAGEBASE_OFFSET 0x1C
|
||||
#define FSP_HEADER_TEMPRAMINIT_OFFSET 0x30
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue