Reviewers: ,

Message:
I'm helping out with building Chrome using Clang, and this would help.

Description:
TYPE_CHECK in v8.h should assign to volatile qualified null-pointer.

Unless the pointer is volatile qualified, Clang will warn that LLVM removes the assignment during optimization. This is not a problem as that code should never execute, but the warning is treated as an error when building Chromium, and thus
stops the build.

Please review this at http://codereview.chromium.org/3005010/show

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
  M     include/v8.h


Index: include/v8.h
===================================================================
--- include/v8.h        (revision 5087)
+++ include/v8.h        (working copy)
@@ -146,9 +146,9 @@

 // --- H a n d l e s ---

-#define TYPE_CHECK(T, S)                              \
-  while (false) {                                     \
-    *(static_cast<T**>(0)) = static_cast<S*>(0);      \
+#define TYPE_CHECK(T, S)                                       \
+  while (false) {                                              \
+    *(static_cast<T* volatile*>(0)) = static_cast<S*>(0);      \
   }

 /**


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to