From cf17d7a1786440ea4469198c1013d0fa424fec0e Mon Sep 17 00:00:00 2001 From: Darryl Green Date: Fri, 29 May 2020 12:51:58 +0100 Subject: [PATCH] Change unrecognised features to a warning, rather than error Give a warning rather than error if an unrecognised feature is used. This will help compatibility when new features are added. Signed-off-by: Darryl Green --- tools/config/__init__.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tools/config/__init__.py b/tools/config/__init__.py index 496adcf465..705836e0ed 100755 --- a/tools/config/__init__.py +++ b/tools/config/__init__.py @@ -1345,10 +1345,13 @@ class Config(object): self.cumulative_overrides['features']\ .update_target(self.target) - for feature in self.target.features: + # Features that don't appear in ALLOWED_FEATURES should be removed + # with a warning so that they don't do anything unexpected. + # Iterate over a copy of the set to remove them safely. + for feature in list(self.target.features): if feature not in ALLOWED_FEATURES: - raise ConfigException( - "Feature '%s' is not a supported feature" % feature) + print("[WARNING] Feature '%s' is not a supported feature" % feature) + self.target.features.remove(feature) return self.target.features