Shader Checker Layer: make sure iterated list is of non-zero length

On MSVC++, need a check to make sure a list is of non-zero length
before attempting to iterate on it.
diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp
index 28e0fdd..3d01b2f 100644
--- a/layers/shader_checker.cpp
+++ b/layers/shader_checker.cpp
@@ -661,7 +661,7 @@
      * are currently dense, but the parallel with matching between shader stages is nice.
      */
 
-    while (it != outputs.end() || attachment < cb->attachmentCount) {
+    while (outputs.size() > 0 && (it != outputs.end() || attachment < cb->attachmentCount)) {
         if (attachment == cb->attachmentCount || it->first < attachment) {
             sprintf(str, "FS writes to output location %d with no matching attachment", it->first);
             layerCbMsg(VK_DBG_MSG_WARNING, VK_VALIDATION_LEVEL_0, NULL, 0, SHADER_CHECKER_OUTPUT_NOT_CONSUMED, "SC", str);