[llvm-commits] [llvm] r51218 - /llvm/trunk/include/llvm/System/Path.h
Bill Wendling
isanbard at gmail.com
Sat May 17 02:10:41 PDT 2008
Author: void
Date: Sat May 17 04:10:40 2008
New Revision: 51218
URL: http://llvm.org/viewvc/llvm-project?rev=51218&view=rev
Log:
On Darwin, the string header file isn't 64-bit clean. The use of
"-Wshorten-64-to-32 -Werror" will cause a failure when compiling this complex
program:
#include <string>
class Path {
mutable std::string path;
public:
bool operator == (const Path &that) {
return path == that.path;
}
};
Using strcmp gets us past this annoying error.
Modified:
llvm/trunk/include/llvm/System/Path.h
Modified: llvm/trunk/include/llvm/System/Path.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/System/Path.h?rev=51218&r1=51217&r2=51218&view=diff
==============================================================================
--- llvm/trunk/include/llvm/System/Path.h (original)
+++ llvm/trunk/include/llvm/System/Path.h Sat May 17 04:10:40 2008
@@ -206,14 +206,14 @@
/// @returns true if \p this and \p that refer to the same thing.
/// @brief Equality Operator
bool operator==(const Path &that) const {
- return path == that.path;
+ return strcmp(path.c_str(), that.path.c_str()) == 0;
}
/// Compares \p this Path with \p that Path for inequality.
/// @returns true if \p this and \p that refer to different things.
/// @brief Inequality Operator
bool operator!=(const Path &that) const {
- return path != that.path;
+ return strcmp(path.c_str(), that.path.c_str()) != 0;
}
/// Determines if \p this Path is less than \p that Path. This is required
@@ -223,7 +223,7 @@
/// @returns true if \p this path is lexicographically less than \p that.
/// @brief Less Than Operator
bool operator<(const Path& that) const {
- return path < that.path;
+ return strcmp(path.c_str(), that.path.c_str()) < 0;
}
/// @}
More information about the llvm-commits
mailing list