vkjson: Fix include paths and clang errors
authorJesse Hall <jessehall@google.com>
Sat, 26 Mar 2016 21:30:55 +0000 (14:30 -0700)
committerJesse Hall <jessehall@google.com>
Sat, 26 Mar 2016 21:30:55 +0000 (14:30 -0700)
Fixes issues discovered when trying to build vkjson as part of the
Android platform build system and a Clang 3.8-based compiler.

(a) Vulkan includes should be "<vulkan/...>".

(b) Clang issues a "missing field initializer" warning for "= {0}"
    in C++. This is arguably incorrect, but "= {}" is defined to
    recursively zero-initialize primitive types, so just use that.

(c) Clang correctly issues an error when a template parameter default
    value is redefined.

libs/vkjson/vkjson.cc
libs/vkjson/vkjson_device.cc

index 2910d42..6e83ad8 100644 (file)
@@ -39,8 +39,8 @@
 #include <type_traits>
 #include <utility>
 
-#include "cJSON.h"
-#include "vk_sdk_platform.h"
+#include <cJSON.h>
+#include <vulkan/vk_sdk_platform.h>
 
 namespace {
 
@@ -456,7 +456,7 @@ inline void VisitForWrite(Visitor* visitor, const T& t) {
   Iterate(visitor, const_cast<T*>(&t));
 }
 
-template <typename T, typename = EnableForStruct<T>, typename = void>
+template <typename T, typename /*= EnableForStruct<T>*/, typename /*= void*/>
 cJSON* ToJsonValue(const T& value) {
   JsonWriterVisitor visitor;
   VisitForWrite(&visitor, value);
@@ -634,7 +634,7 @@ class JsonReaderVisitor {
   std::string* errors_;
 };
 
-template <typename T, typename = EnableForStruct<T>>
+template <typename T, typename /*= EnableForStruct<T>*/>
 bool AsValue(cJSON* json_value, T* t) {
   if (json_value->type != cJSON_Object)
     return false;
index 9e96c72..fc9540e 100644 (file)
@@ -65,7 +65,7 @@ VkJsonAllProperties VkJsonGetAllProperties(VkPhysicalDevice physical_device) {
                                      properties.layers.data());
   }
 
-  VkFormatProperties format_properties = {0};
+  VkFormatProperties format_properties = {};
   for (VkFormat format = VK_FORMAT_R4G4_UNORM_PACK8;
        format <= VK_FORMAT_END_RANGE;
        format = static_cast<VkFormat>(format + 1)) {