Skip to content

Commit

Permalink
MdePkg/Include/IndustryStandard: Address C++ keyword collisions
Browse files Browse the repository at this point in the history
Update Tpm12.h and Tpm20.h and not use c++ reserved keywords
operator and xor in C structures to support use of these
include files when building with a C++ compiler.

This patch removes the temporary use of anonymous unions and
warning 4201 disable for VS20xx tool chains to complete the
following field name changes:

* operator -> operator_
* xor -> xor_

NOTE: This is a non-backwards compatible change to Tpm12.h
and Tmp20.h. And consumers of these include files that access
the "operator" or "xor" fields must be updated.

Signed-off-by: Michael D Kinney <[email protected]>
  • Loading branch information
mdkinney authored and mergify[bot] committed Dec 3, 2024
1 parent e6a886f commit da1084c
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 42 deletions.
20 changes: 1 addition & 19 deletions MdePkg/Include/IndustryStandard/Tpm12.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,6 @@
#ifndef _TPM12_H_
#define _TPM12_H_

///
/// Temporary disable 4201 to support anonymous unions
///
#if defined (_MSC_EXTENSIONS)
#pragma warning( push )
#pragma warning ( disable : 4201 )
#endif

///
/// The start of TPM return codes
///
Expand Down Expand Up @@ -752,10 +744,7 @@ typedef struct tdTPM_PERMANENT_FLAGS {
BOOLEAN TPMpost;
BOOLEAN TPMpostLock;
BOOLEAN FIPS;
union {
BOOLEAN operator;
BOOLEAN operator_;
};
BOOLEAN operator_;
BOOLEAN enableRevokeEK;
BOOLEAN nvLocked;
BOOLEAN readSRKPub;
Expand Down Expand Up @@ -2173,11 +2162,4 @@ typedef struct tdTPM_RSP_COMMAND_HDR {

#pragma pack ()

///
/// Temporary disable 4201 to support anonymous unions
///
#if defined (_MSC_EXTENSIONS)
#pragma warning( pop )
#endif

#endif
25 changes: 2 additions & 23 deletions MdePkg/Include/IndustryStandard/Tpm20.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent

#include <IndustryStandard/Tpm12.h>

///
/// Temporary disable 4201 to support anonymous unions
///
#if defined (_MSC_EXTENSIONS)
#pragma warning( push )
#pragma warning ( disable : 4201 )
#endif

#pragma pack (1)

// Annex A Algorithm Constants
Expand Down Expand Up @@ -1256,10 +1248,7 @@ typedef union {
TPMI_AES_KEY_BITS aes;
TPMI_SM4_KEY_BITS SM4;
TPM_KEY_BITS sym;
union {
TPMI_ALG_HASH xor;
TPMI_ALG_HASH xor_;
};
TPMI_ALG_HASH xor_;
} TPMU_SYM_KEY_BITS;

// Table 123 - TPMU_SYM_MODE Union
Expand Down Expand Up @@ -1332,10 +1321,7 @@ typedef struct {
// Table 136 - TPMU_SCHEME_KEYEDHASH Union
typedef union {
TPMS_SCHEME_HMAC hmac;
union {
TPMS_SCHEME_XOR xor;
TPMS_SCHEME_XOR xor_;
};
TPMS_SCHEME_XOR xor_;
} TPMU_SCHEME_KEYEDHASH;

// Table 137 - TPMT_KEYEDHASH_SCHEME Structure
Expand Down Expand Up @@ -1824,11 +1810,4 @@ typedef struct {
#define HASH_ALG_SHA512 0x00000008
#define HASH_ALG_SM3_256 0x00000010

///
/// Temporary disable 4201 to support anonymous unions
///
#if defined (_MSC_EXTENSIONS)
#pragma warning( pop )
#endif

#endif

0 comments on commit da1084c

Please sign in to comment.