\r
KeyList = [TAB_TOD_DEFINES_TARGET, TAB_TOD_DEFINES_TOOL_CHAIN_TAG, TAB_TOD_DEFINES_TARGET_ARCH, TAB_TOD_DEFINES_COMMAND_TYPE]\r
for Index in range(3, -1, -1):\r
- for Key in dict(self.ToolsDefTxtDictionary):\r
+ # make a copy of the keys to enumerate over to prevent issues when\r
+ # adding/removing items from the original dict.\r
+ for Key in list(self.ToolsDefTxtDictionary.keys()):\r
List = Key.split('_')\r
if List[Index] == '*':\r
for String in self.ToolsDefTxtDatabase[KeyList[Index]]:\r
NewKey = '%s_%s_%s_%s_%s' % tuple(List)\r
if NewKey not in self.ToolsDefTxtDictionary:\r
self.ToolsDefTxtDictionary[NewKey] = self.ToolsDefTxtDictionary[Key]\r
- continue\r
del self.ToolsDefTxtDictionary[Key]\r
elif List[Index] not in self.ToolsDefTxtDatabase[KeyList[Index]]:\r
del self.ToolsDefTxtDictionary[Key]\r
if BuildOption:\r
ToolList = [TAB_TOD_DEFINES_TARGET, TAB_TOD_DEFINES_TOOL_CHAIN_TAG, TAB_TOD_DEFINES_TARGET_ARCH]\r
for Index in range(2, -1, -1):\r
- for Key in dict(BuildOption):\r
+ for Key in list(BuildOption.keys()):\r
List = Key.split('_')\r
if List[Index] == '*':\r
for String in ToolDb[ToolList[Index]]:\r