From: Eric Engestrom Date: Fri, 3 May 2019 11:31:01 +0000 (+0100) Subject: vk/util: drop no-op compiler warning workaround X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=00cfeacf3179ee37d2517188cb5074e5bea66a34;p=mesa.git vk/util: drop no-op compiler warning workaround `-Wswitch` applies to `switch()`, not `case:`, and is bypassed by the presence of a `default:` anyway, so let's drop the `default:` and move the warning suppression to where it can make a difference, and then it turns out that we don't need to keep a list of special cases anymore :) Signed-off-by: Eric Engestrom Reviewed-by: Lionel Landwerlin --- diff --git a/src/vulkan/util/gen_enum_to_str.py b/src/vulkan/util/gen_enum_to_str.py index 5357278ded1..0983c4e50a5 100644 --- a/src/vulkan/util/gen_enum_to_str.py +++ b/src/vulkan/util/gen_enum_to_str.py @@ -71,23 +71,16 @@ C_TEMPLATE = Template(textwrap.dedent(u"""\ const char * vk_${enum.name[2:]}_to_str(${enum.name} input) { + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wswitch" switch(input) { % for v in sorted(enum.values.keys()): - % if enum.values[v] in FOREIGN_ENUM_VALUES: - - #pragma GCC diagnostic push - #pragma GCC diagnostic ignored "-Wswitch" - % endif case ${v}: return "${enum.values[v]}"; - % if enum.values[v] in FOREIGN_ENUM_VALUES: - #pragma GCC diagnostic pop - - % endif % endfor - default: - unreachable("Undefined enum value."); } + #pragma GCC diagnostic pop + unreachable("Undefined enum value."); } % if enum.guard: @@ -225,12 +218,6 @@ H_TEMPLATE = Template(textwrap.dedent(u"""\ #endif"""), output_encoding='utf-8') -# These enums are defined outside their respective enum blocks, and thus cause -# -Wswitch warnings. -FOREIGN_ENUM_VALUES = [ - "VK_STRUCTURE_TYPE_NATIVE_BUFFER_ANDROID", -] - class NamedFactory(object): """Factory for creating enums.""" @@ -433,8 +420,7 @@ def main(): enums=enums, extensions=extensions, structs=structs, - copyright=COPYRIGHT, - FOREIGN_ENUM_VALUES=FOREIGN_ENUM_VALUES)) + copyright=COPYRIGHT)) if __name__ == '__main__':