Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
deps: backport 75e43a6 from v8 upstream
Note: chunk in test-heap.cc:1989 discarded as related code missing
from current version in node.

Original commit message:

  Use static_cast<> for NULL (clang 3.7)

  The following errors come up when compiling v8
   with clang 3.7 on FreeBSD/amd64:

  src/runtime/runtime-i18n.cc:629:37: error: reinterpret_cast from
  'nullptr_t' to 'v8::internal::Smi *' is not allowed
    local_object->SetInternalField(1, reinterpret_cast<Smi*>(NULL));
                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

  test/cctest/test-heap.cc:131:20: error: reinterpret_cast from
        'nullptr_t' to 'v8::internal::Object *' is not allowed
    Handle<Object> n(reinterpret_cast<Object*>(NULL), isolate);
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  test/cctest/test-heap.cc:1989:18: error: reinterpret_cast from
        'nullptr_t' to 'Address' (aka 'unsigned char *') is not
        allowed
    Address base = reinterpret_cast<Address>(NULL);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  +add myself to the AUTHORS file.

  BUG=

  Review URL: https://codereview.chromium.org/1277353002

  Cr-Commit-Position: refs/heads/master@{#30103}
  • Loading branch information
saper authored and sambthompson committed Sep 2, 2015
commit fef51fffa57db5683c9a03f6ba176f8fceb4f38e
1 change: 1 addition & 0 deletions deps/v8/AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>
Luis Reis <luis.m.reis@gmail.com>
Luke Zarko <lukezarko@gmail.com>
Maciej Małecki <me@mmalecki.com>
Marcin Cieślak <saper@marcincieslak.com>
Mathias Bynens <mathias@qiwi.be>
Matt Hanselman <mjhanselman@gmail.com>
Matthew Sporleder <msporleder@gmail.com>
Expand Down
2 changes: 1 addition & 1 deletion deps/v8/src/runtime/runtime-i18n.cc
Original file line number Diff line number Diff line change
Expand Up @@ -627,7 +627,7 @@ RUNTIME_FUNCTION(Runtime_CreateBreakIterator) {

local_object->SetInternalField(0, reinterpret_cast<Smi*>(break_iterator));
// Make sure that the pointer to adopted text is NULL.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This says NULL. Is that okay?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NULL is just 0 with a nullptr_t type, which clang complains about. I didn't change the comment, because semantically, I thought that was still more meaningful; I've always thought of NULL as void *, but these days it's more fancy.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that the comments above applied to my original rejected patch to 0, rather than upstream cherry pick, which went with static_cast instead of reinterpret_cast and nullptr for 0.

local_object->SetInternalField(1, reinterpret_cast<Smi*>(NULL));
local_object->SetInternalField(1, static_cast<Smi*>(nullptr));

Factory* factory = isolate->factory();
Handle<String> key = factory->NewStringFromStaticChars("breakIterator");
Expand Down
2 changes: 1 addition & 1 deletion deps/v8/test/cctest/test-heap.cc
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ TEST(HandleNull) {
Isolate* isolate = CcTest::i_isolate();
HandleScope outer_scope(isolate);
LocalContext context;
Handle<Object> n(reinterpret_cast<Object*>(NULL), isolate);
Handle<Object> n(static_cast<Object*>(nullptr), isolate);
CHECK(!n.is_null());
}

Expand Down