From c65df5d9a14331d2b6d583359f1cf88c3b710d34 Mon Sep 17 00:00:00 2001 From: Yonghong Zhu Date: Thu, 27 Jul 2017 11:20:26 +0800 Subject: [PATCH] BaseTools: Fix the bug to correctly check Pcd type that in FDF file We set Pcd value in FDF and used this Pcd as PatchableInModule type in module, it cause build report generate failure. because we incorrectly set the Pcd type during check whether the Pcd is used. Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu Reviewed-by: Liming Gao --- BaseTools/Source/Python/build/BuildReport.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/BaseTools/Source/Python/build/BuildReport.py b/BaseTools/Source/Python/build/BuildReport.py index a1ee43aa26..a7cbb6a98c 100644 --- a/BaseTools/Source/Python/build/BuildReport.py +++ b/BaseTools/Source/Python/build/BuildReport.py @@ -737,6 +737,13 @@ class PcdReport(object): UnusedPcdFullList = [] for item in Pa.Platform.Pcds: Pcd = Pa.Platform.Pcds[item] + if not Pcd.Type: + # check the Pcd in FDF file, whether it is used in module first + for T in ["FixedAtBuild", "PatchableInModule", "FeatureFlag", "Dynamic", "DynamicEx"]: + PcdList = self.AllPcds.setdefault(Pcd.TokenSpaceGuidCName, {}).setdefault(T, []) + if Pcd in PcdList: + Pcd.Type = T + break if not Pcd.Type: PcdTypeFlag = False for package in Pa.PackageList: -- 2.39.2