Reviewers: ulan,
Description:
Fix more windows build warnings.
[email protected]
BUG=
Please review this at https://chromiumcodereview.appspot.com/10917065/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/api.cc
M test/cctest/test-api.cc
Index: src/api.cc
diff --git a/src/api.cc b/src/api.cc
index
c8d5a9c19054aa02c5a73e24a10b58101c0f420f..bbed6107880b3e7ecef39d279dc40c937b28edf9
100644
--- a/src/api.cc
+++ b/src/api.cc
@@ -4943,15 +4943,17 @@ Local<String>
v8::String::NewExternal(ExternalLatin1StringResource* resource,
ENTER_V8(isolate);
ASSERT((encoding & kStringEncodingMask) == LATIN1_ENCODING);
CHECK(resource && resource->data());
- bool ascii_hint = (encoding & kAsciiHintMask);
+ int ascii_hint = (encoding & kAsciiHintMask);
i::Handle<i::String> result;
if (ascii_hint == ASCII_HINT ||
(ascii_hint != NOT_ASCII_HINT &&
- i::String::IsAscii(resource->data(), resource->length()))) {
+ i::String::IsAscii(resource->data(),
+ static_cast<int>(resource->length())))) {
// Assert that the ascii hint is correct.
ASSERT(ascii_hint != ASCII_HINT ||
- i::String::IsAscii(resource->data(), resource->length()));
+ i::String::IsAscii(resource->data(),
+ static_cast<int>(resource->length())));
result = NewExternalAsciiStringHandle(isolate, resource);
isolate->heap()->external_string_table()->AddString(*result);
} else {
@@ -4959,7 +4961,8 @@ Local<String>
v8::String::NewExternal(ExternalLatin1StringResource* resource,
// since it's not. Instead, we convert it to an internal string and
dispose
// the external resource.
result = isolate->factory()->NewStringFromLatin1(
- i::Vector<const char>(resource->data(), resource->length()),
+ i::Vector<const char>(resource->data(),
+ static_cast<int>(resource->length())),
i::NOT_TENURED,
i::String::NOT_ASCII);
resource->Dispose();
Index: test/cctest/test-api.cc
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc
index
4e1948630e0568655a1ff0fc9090416400373a0a..9b0279126df051d69f7397086b7c89d423f1c3c2
100644
--- a/test/cctest/test-api.cc
+++ b/test/cctest/test-api.cc
@@ -717,10 +717,10 @@ TEST(ExternalStringWithDisposeHandling) {
static void TestNewLatin1String(int encoding1, int encoding2) {
const char* chars1 = "ASCII 123";
const char* chars1js = "'ASCII 123'";
- int str1_len = strlen(chars1);
+ int str1_len = static_cast<int>(strlen(chars1));
const char* chars2 = "Non-ASCII \xAB\xCD\xEF";
const char* chars2js = "'Non-ASCII \\u00ab\\u00cd\\u00ef'";
- int str2_len = strlen(chars2);
+ int str2_len = static_cast<int>(strlen(chars2));
Local<String> str1 = String::New(chars1, str1_len, encoding1);
Local<String> str2 = String::New(chars2, str2_len, encoding2);
@@ -826,17 +826,21 @@ TEST(WriteLatin1String) {
CHECK(v8::Utils::OpenHandle(*sub_string)->IsSlicedString());
char buffer[64];
- CHECK_EQ(strlen(latin1_ascii), latin1_ascii_string->WriteLatin1(buffer));
+ CHECK_EQ(static_cast<int>(strlen(latin1_ascii)),
+ latin1_ascii_string->WriteLatin1(buffer));
CHECK_EQ(0, strcmp(latin1_ascii, buffer));
- CHECK_EQ(strlen(latin1), latin1_string->WriteLatin1(buffer));
+ CHECK_EQ(static_cast<int>(strlen(latin1)),
+ latin1_string->WriteLatin1(buffer));
CHECK_EQ(0, strcmp(latin1, buffer));
- CHECK_EQ(strlen(concat), concat_string->WriteLatin1(buffer));
+ CHECK_EQ(static_cast<int>(strlen(concat)),
+ concat_string->WriteLatin1(buffer));
CHECK_EQ(0, strcmp(concat, buffer));
- CHECK_EQ(strlen(sub), sub_string->WriteLatin1(buffer));
+ CHECK_EQ(static_cast<int>(strlen(sub)),
+ sub_string->WriteLatin1(buffer));
CHECK_EQ(0, strcmp(sub, buffer));
memset(buffer, 0x1, sizeof(buffer));
- CHECK_EQ(strlen(latin1),
+ CHECK_EQ(static_cast<int>(strlen(latin1)),
latin1_string->WriteLatin1(buffer,
0,
String::kUndefinedLength,
@@ -846,7 +850,7 @@ TEST(WriteLatin1String) {
buffer[strlen(latin1)] = '\0';
CHECK_EQ(0, strcmp(latin1, buffer));
- CHECK_EQ(strlen(latin1) - 2,
+ CHECK_EQ(static_cast<int>(strlen(latin1)) - 2,
latin1_string->WriteLatin1(buffer, 2));
CHECK_EQ(0, strncmp(latin1 + 2, buffer, strlen(latin1)));
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev