[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