From cb3236d9f9948985e1413aa42ed266f6fc279a08 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Tue, 10 May 2016 10:22:48 -0400 Subject: [PATCH] Use std::string for TBD/missing functionality reporting. We can have multiple instances of the same string, so comparing const char* is not guaranteed working. Fixed the failure on VS 2013 with Debug build. --- SPIRV/Logger.cpp | 4 ++-- SPIRV/Logger.h | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SPIRV/Logger.cpp b/SPIRV/Logger.cpp index 2977ea39..7edf4265 100644 --- a/SPIRV/Logger.cpp +++ b/SPIRV/Logger.cpp @@ -40,13 +40,13 @@ namespace spv { -void SpvBuildLogger::tbdFunctionality(const char* f) +void SpvBuildLogger::tbdFunctionality(const std::string& f) { if (std::find(std::begin(tbdFeatures), std::end(tbdFeatures), f) == std::end(tbdFeatures)) tbdFeatures.push_back(f); } -void SpvBuildLogger::missingFunctionality(const char* f) +void SpvBuildLogger::missingFunctionality(const std::string& f) { if (std::find(std::begin(missingFeatures), std::end(missingFeatures), f) == std::end(missingFeatures)) missingFeatures.push_back(f); diff --git a/SPIRV/Logger.h b/SPIRV/Logger.h index 2b9eb0d5..15b5e354 100644 --- a/SPIRV/Logger.h +++ b/SPIRV/Logger.h @@ -48,9 +48,9 @@ public: SpvBuildLogger(const SpvBuildLogger&) = delete; // Registers a TBD functionality. - void tbdFunctionality(const char* f); + void tbdFunctionality(const std::string& f); // Registers a missing functionality. - void missingFunctionality(const char* f); + void missingFunctionality(const std::string& f); // Logs a warning. void warning(const std::string& w) { warnings.push_back(w); } @@ -62,8 +62,8 @@ public: std::string getAllMessages() const; private: - std::vector tbdFeatures; - std::vector missingFeatures; + std::vector tbdFeatures; + std::vector missingFeatures; std::vector warnings; std::vector errors; };