python: Fix namespaced enums params code generation

The wrapper_name parameter was not properly handled. Enums were always
generated in the enums namespace even if required differently by
wrapper_name.

Change-Id: I366846ce39dfe10effc2cc145e7772a3fd171b92
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67662
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby Bruce <bbruce@ucdavis.edu>
This commit is contained in:
Gabriel Busnot
2022-08-02 07:07:33 +00:00
committed by Bobby R. Bruce
parent aba56866d4
commit f4b9605bab
2 changed files with 4 additions and 4 deletions

View File

@@ -97,7 +97,7 @@ const char *${name}Strings[static_cast<int>(${name}::Num_${name})] =
)
else:
code(
"""namespace enums
"""namespace ${wrapper_name}
{"""
)
code.indent(1)
@@ -112,7 +112,7 @@ code("};")
if not enum.wrapper_is_struct and not enum.is_class:
code.dedent(1)
code("} // namespace enums")
code("} // namespace ${wrapper_name}")
code("} // namespace gem5")

View File

@@ -1560,8 +1560,8 @@ class MetaEnum(MetaParamValue):
if cls.is_class:
cls.cxx_type = f"{name}"
else:
cls.cxx_type = f"enums::{name}"
scope = init_dict.get("wrapper_name", "enums")
cls.cxx_type = f"{scope}::{name}"
super().__init__(name, bases, init_dict)