misc: Changes to clean up warnings in Release build
diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp
index aad2745..2f5e561 100644
--- a/layers/draw_state.cpp
+++ b/layers/draw_state.cpp
@@ -1395,7 +1395,8 @@
 #else // WIN32
         // Convert dot to svg if dot available
         if(access( "/usr/bin/dot", X_OK) != -1) {
-            system("/usr/bin/dot pipeline_dump.dot -Tsvg -o pipeline_dump.svg");
+            int retval = system("/usr/bin/dot pipeline_dump.dot -Tsvg -o pipeline_dump.svg");
+            assert(retval != -1);
         }
 #endif // WIN32
     }
@@ -2715,7 +2716,8 @@
         dumpDotFile(g_lastCmdBuffer[getTIDIndex()], "/tmp/tmp.dot");
         char dotCmd[1024];
         sprintf(dotCmd, "%s /tmp/tmp.dot -Tpng -o %s", dotExe, outFileName);
-        system(dotCmd);
+        int retval = system(dotCmd);
+        assert(retval != -1);
         remove("/tmp/tmp.dot");
     }
     else {
diff --git a/loader/loader.c b/loader/loader.c
index 7f9a9b3..7c7597e 100644
--- a/loader/loader.c
+++ b/loader/loader.c
@@ -1179,11 +1179,12 @@
 
     scanned_icds = loader.scanned_icd_list;
     while (scanned_icds) {
-        if (scanned_icds->instance)
+        if (scanned_icds->instance) {
             res = scanned_icds->DestroyInstance(scanned_icds->instance);
-        if (res != VK_SUCCESS)
-            loader_log(VK_DBG_MSG_WARNING, 0,
-                        "ICD ignored: failed to DestroyInstance on device");
+            if (res != VK_SUCCESS)
+                loader_log(VK_DBG_MSG_WARNING, 0,
+                            "ICD ignored: failed to DestroyInstance on device");
+        }
         scanned_icds->instance = VK_NULL_HANDLE;
         scanned_icds = scanned_icds->next;
     }
@@ -1201,7 +1202,7 @@
     struct loader_instance *ptr_instance = (struct loader_instance *) instance;
     struct loader_icd *icd;
     uint32_t n, count = 0;
-    VkResult res;
+    VkResult res = VK_ERROR_UNKNOWN;
 
     //in spirit of VK don't error check on the instance parameter
     icd = ptr_instance->icds;
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 0ee92e1..7ba8874 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -477,14 +477,12 @@
         input_mask = VK_MEMORY_INPUT_SHADER_READ_BIT | VK_MEMORY_INPUT_TRANSFER_BIT;
         break;
 
-    case VK_IMAGE_LAYOUT_CLEAR_OPTIMAL:
-        break;
-
     case VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL:
         output_mask = VK_MEMORY_OUTPUT_TRANSFER_BIT;
         input_mask = VK_MEMORY_INPUT_SHADER_READ_BIT | VK_MEMORY_INPUT_TRANSFER_BIT;
         break;
 
+    case VK_IMAGE_LAYOUT_CLEAR_OPTIMAL:
     default:
         output_mask =  all_cache_outputs;
         input_mask = all_cache_inputs;
@@ -498,7 +496,7 @@
 void VkImageObj::SetLayout(VkImageAspect aspect,
                            VkImageLayout image_layout)
 {
-    VkResult err;
+    VkResult U_ASSERT_ONLY err;
     VkCommandBufferObj cmd_buf(m_device);
 
     /* Build command buffer to set image layout in the driver */
@@ -598,7 +596,7 @@
 
 VkResult VkImageObj::CopyImage(VkImageObj &src_image)
 {
-    VkResult err;
+    VkResult U_ASSERT_ONLY err;
     VkCommandBufferObj cmd_buf(m_device);
     VkImageLayout src_image_layout, dest_image_layout;
 
@@ -875,6 +873,8 @@
         break;
     default:
         assert(!"unknown index type");
+        m_stride = 2;
+        viewFormat = VK_FORMAT_R16_UINT;
         break;
     }
 
diff --git a/tests/vktestframework.cpp b/tests/vktestframework.cpp
index cb79abb..9a5df36 100644
--- a/tests/vktestframework.cpp
+++ b/tests/vktestframework.cpp
@@ -432,7 +432,7 @@
 
 void  TestFrameworkVkPresent::Display()
 {
-    VkResult err;
+    VkResult U_ASSERT_ONLY err;
 
     VkPresentInfoWSI present = {};
     present.sType = VK_STRUCTURE_TYPE_PRESENT_INFO_WSI;
@@ -523,7 +523,7 @@
 
 void TestFrameworkVkPresent::CreateSwapChain()
 {
-    VkResult err;
+    VkResult U_ASSERT_ONLY err;
 
     VkSwapChainCreateInfoWSI swap_chain = {};
     swap_chain.sType = VK_STRUCTURE_TYPE_SWAP_CHAIN_CREATE_INFO_WSI;
diff --git a/tests/vktestframework.h b/tests/vktestframework.h
index e39698a..6e15f79 100644
--- a/tests/vktestframework.h
+++ b/tests/vktestframework.h
@@ -39,6 +39,12 @@
 #include <fstream>
 #include <list>
 
+#if defined(NDEBUG) && defined(__GNUC__)
+#define U_ASSERT_ONLY __attribute__((unused))
+#else
+#define U_ASSERT_ONLY
+#endif
+
 // Can be used by tests to record additional details / description of test
 #define TEST_DESCRIPTION(desc) RecordProperty("description", desc)