VFR successfully compiles if we forget to include a header that defines
a macro. In that case the HII option was hidden when it shouldn't be
just because the macro was used but not defined.

The behaviour is totally intended by the C/PP standard. When a macro is
undefined it evaluates to 0.
GCC, MSVC and Clang have warnings to catch this type of mistake. With
this commit we enable this warning and make it a compiler error.

Cc: Bob Feng <bob.c.f...@intel.com>
Cc: Liming Gao <gaolim...@byosoft.com.cn>
Cc: Yuwei Chen <yuwei.c...@intel.com>
Cc: Derek Lin <derek.l...@hpe.com>
---
 BaseTools/Conf/tools_def.template | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/BaseTools/Conf/tools_def.template 
b/BaseTools/Conf/tools_def.template
index 933b3160fd2b..728c1d3119e4 100755
--- a/BaseTools/Conf/tools_def.template
+++ b/BaseTools/Conf/tools_def.template
@@ -3,7 +3,7 @@
 #  Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>

 #  Portions copyright (c) 2011 - 2019, ARM Ltd. All rights reserved.<BR>

 #  Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR>

-#  (C) Copyright 2020, Hewlett Packard Enterprise Development LP<BR>

+#  (C) Copyright 2020-2021, Hewlett Packard Enterprise Development LP<BR>

 #  Copyright (c) Microsoft Corporation

 #

 #  SPDX-License-Identifier: BSD-2-Clause-Patent

@@ -1938,7 +1938,7 @@ DEFINE GCC_AARCH64_ASLDLINK_FLAGS  = 
DEF(GCC_AARCH64_DLINK_FLAGS) -Wl,--entry,Re
 DEFINE GCC_IA32_X64_DLINK_FLAGS    = DEF(GCC_IA32_X64_DLINK_COMMON) --entry 
_$(IMAGE_ENTRY_POINT) --file-alignment 0x20 --section-alignment 0x20 -Map 
$(DEST_DIR_DEBUG)/$(BASE_NAME).map

 DEFINE GCC_ASM_FLAGS               = -c -x assembler -imacros AutoGen.h

 DEFINE GCC_PP_FLAGS                = -E -x assembler-with-cpp -include 
AutoGen.h

-DEFINE GCC_VFRPP_FLAGS             = -x c -E -P -DVFRCOMPILE --include 
$(MODULE_NAME)StrDefs.h

+DEFINE GCC_VFRPP_FLAGS             = -x c -E -P -DVFRCOMPILE --include 
$(MODULE_NAME)StrDefs.h -Wundef -Werror

 DEFINE GCC_ASLPP_FLAGS             = -x c -E -include AutoGen.h

 DEFINE GCC_ASLCC_FLAGS             = -x c

 DEFINE GCC_WINDRES_FLAGS           = -J rc -O coff

-- 
2.30.0



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#72326): https://edk2.groups.io/g/devel/message/72326
Mute This Topic: https://groups.io/mt/81020991/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to