diff --git a/litex/build/parser.py b/litex/build/parser.py index 74359e2a9..ee2b4fb27 100644 --- a/litex/build/parser.py +++ b/litex/build/parser.py @@ -225,6 +225,13 @@ class LiteXArgumentParser(argparse.ArgumentParser): # Injects arguments default values if len(self._args_default): argparse.ArgumentParser.set_defaults(self, **self._args_default) + # Catch defaults which do not match any arguments - typos? + remaining = list(self._args_default.keys()) + for action in self._actions: + if action.dest in remaining: + remaining.remove(action.dest) + if len(remaining) > 0: + raise ValueError(f"set_default() for invalid argument(s): {remaining}") # Parse args. self._args = argparse.ArgumentParser.parse_args(self, args, namespace)