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.
This commit is contained in:
Lei Zhang 2016-05-10 10:22:48 -04:00
parent f36d6e350e
commit cb3236d9f9
2 changed files with 6 additions and 6 deletions

View File

@ -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);

View File

@ -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<const char*> tbdFeatures;
std::vector<const char*> missingFeatures;
std::vector<std::string> tbdFeatures;
std::vector<std::string> missingFeatures;
std::vector<std::string> warnings;
std::vector<std::string> errors;
};