Suppress implicit-fallthrough warnings.
Bug: b/112564944
Test: build with global -Wimplicit-fallthrough
Change-Id: Ib04daba08bc450657ab8997959a25fe99d3c1d48
diff --git a/vulkan/vkjson/Android.bp b/vulkan/vkjson/Android.bp
index e387165..93620f4 100644
--- a/vulkan/vkjson/Android.bp
+++ b/vulkan/vkjson/Android.bp
@@ -7,6 +7,7 @@
cflags: [
"-Wall",
"-Werror",
+ "-Wimplicit-fallthrough",
],
cppflags: [
"-std=c++11",
@@ -33,6 +34,7 @@
cflags: [
"-Wall",
"-Werror",
+ "-Wimplicit-fallthrough",
],
cppflags: [
"-std=c++11",
diff --git a/vulkan/vkjson/vkjson.cc b/vulkan/vkjson/vkjson.cc
index 6200383..efe622d 100644
--- a/vulkan/vkjson/vkjson.cc
+++ b/vulkan/vkjson/vkjson.cc
@@ -766,6 +766,7 @@
&device->external_fence_properties) &&
visitor->Visit("externalSemaphoreProperties",
&device->external_semaphore_properties);
+ FALLTHROUGH_INTENDED;
case VK_API_VERSION_1_0:
ret &= visitor->Visit("properties", &device->properties) &&
visitor->Visit("features", &device->features) &&
@@ -786,6 +787,7 @@
switch (instance->api_version ^ VK_VERSION_PATCH(instance->api_version)) {
case VK_API_VERSION_1_1:
ret &= visitor->Visit("deviceGroups", &instance->device_groups);
+ FALLTHROUGH_INTENDED;
case VK_API_VERSION_1_0:
ret &= visitor->Visit("layers", &instance->layers) &&
visitor->Visit("extensions", &instance->extensions) &&
diff --git a/vulkan/vkjson/vkjson.h b/vulkan/vkjson/vkjson.h
index 5e8428a..4f97c3e 100644
--- a/vulkan/vkjson/vkjson.h
+++ b/vulkan/vkjson/vkjson.h
@@ -41,6 +41,12 @@
#define VK_API_VERSION_1_1 VK_MAKE_VERSION(1, 1, 0)
#endif
+/*
+ * Annotation to tell clang that we intend to fall through from one case to
+ * another in a switch. Sourced from android-base/macros.h.
+ */
+#define FALLTHROUGH_INTENDED [[clang::fallthrough]]
+
struct VkJsonLayer {
VkLayerProperties properties;
std::vector<VkExtensionProperties> extensions;