#define BIG_CONSTANT(x) (x##LLU)
#endif // !defined(_MSC_VER)
inline
-uint64_t MurmurHash64A(const void* key, int len) {
+uint64_t MurmurHash64A(const void* key, size_t len) {
static const uint64_t seed = 0xDECAFBADDECAFBADull;
const uint64_t m = BIG_CONSTANT(0xc6a4a7935bd1e995);
const int r = 47;
const uint64_t * end = data + (len/8);
while(data != end) {
uint64_t k = *data++;
- k *= m;
- k ^= k >> r;
- k *= m;
+ k *= m;
+ k ^= k >> r;
+ k *= m;
h ^= k;
- h *= m;
+ h *= m;
}
const unsigned char* data2 = (const unsigned char*)data;
switch(len & 7)
h *= m;
h ^= h >> r;
return h;
-}
+}
#undef BIG_CONSTANT
yy5:
{
// Got a span of plain text.
- int len = in - start;
+ int len = (int)(in - start);
// Need to shift it over if we're overwriting backslashes.
if (out < start)
memmove(out, start, len);
}
- int len = out - filename;
+ int len = (int)(out - filename);
const bool is_target = parsing_targets;
if (len > 0 && filename[len - 1] == ':') {
len--; // Strip off trailing colon, if any.
}
[a-zA-Z0-9+,/_:.~()@=-]+ {
// Got a span of plain text.
- int len = in - start;
+ int len = (int)(in - start);
// Need to shift it over if we're overwriting backslashes.
if (out < start)
memmove(out, start, len);
*/
}
- int len = out - filename;
+ int len = (int)(out - filename);
const bool is_target = parsing_targets;
if (len > 0 && filename[len - 1] == ':') {
len--; // Strip off trailing colon, if any.
// pointer...)
int implicit_deps_;
int order_only_deps_;
- bool is_implicit(int index) {
- return index >= ((int)inputs_.size()) - order_only_deps_ - implicit_deps_ &&
+ bool is_implicit(size_t index) {
+ return index >= inputs_.size() - order_only_deps_ - implicit_deps_ &&
!is_order_only(index);
}
- bool is_order_only(int index) {
- return index >= ((int)inputs_.size()) - order_only_deps_;
+ bool is_order_only(size_t index) {
+ return index >= inputs_.size() - order_only_deps_;
}
bool is_phony() const;
// MurmurHash2, by Austin Appleby
static inline
-unsigned int MurmurHash2(const void* key, int len) {
+unsigned int MurmurHash2(const void* key, size_t len) {
static const unsigned int seed = 0xDECAFBAD;
const unsigned int m = 0x5bd1e995;
const int r = 24;
context = p + 1;
}
}
- int col = last_token_ ? last_token_ - context : 0;
+ int col = last_token_ ? (int)(last_token_ - context) : 0;
char buf[1024];
snprintf(buf, sizeof(buf), "%s:%d: ", filename_.AsString().c_str(), line);
context = p + 1;
}
}
- int col = last_token_ ? last_token_ - context : 0;
+ int col = last_token_ ? (int)(last_token_ - context) : 0;
char buf[1024];
snprintf(buf, sizeof(buf), "%s:%d: ", filename_.AsString().c_str(), line);
StringPiece(const string& str) : str_(str.data()), len_(str.size()) {}
StringPiece(const char* str) : str_(str), len_(strlen(str)) {}
- StringPiece(const char* str, int len) : str_(str), len_(len) {}
+ StringPiece(const char* str, size_t len) : str_(str), len_(len) {}
bool operator==(const StringPiece& other) const {
return len_ == other.len_ && memcmp(str_, other.str_, len_) == 0;
}
const char* str_;
- int len_;
+ size_t len_;
};
#endif // NINJA_STRINGPIECE_H_
bool CanonicalizePath(string* path, string* err) {
METRIC_RECORD("canonicalize str");
- int len = path->size();
+ size_t len = path->size();
char* str = 0;
if (len > 0)
str = &(*path)[0];
return true;
}
-bool CanonicalizePath(char* path, int* len, string* err) {
+bool CanonicalizePath(char* path, size_t* len, string* err) {
// WARNING: this function is performance-critical; please benchmark
// any changes you make to it.
METRIC_RECORD("canonicalize path");
const int kMargin = 3; // Space for "...".
string result = str;
if (result.size() + kMargin > width) {
- int elide_size = (width - kMargin) / 2;
+ size_t elide_size = (width - kMargin) / 2;
result = result.substr(0, elide_size)
+ "..."
+ result.substr(result.size() - elide_size, elide_size);
/// Canonicalize a path like "foo/../bar.h" into just "bar.h".
bool CanonicalizePath(string* path, string* err);
-bool CanonicalizePath(char* path, int* len, string* err);
+bool CanonicalizePath(char* path, size_t* len, string* err);
/// Read a file to a string.
/// Returns -errno and fills in \a err on error.