<div dir="ltr">Good point, fixed by r182868!</div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/5/29 David Blaikie <span dir="ltr"><<a href="mailto:dblaikie@gmail.com" target="_blank">dblaikie@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">On Wed, May 29, 2013 at 7:11 AM, Timur Iskhodzhanov <span dir="ltr"><<a href="mailto:timurrrr@google.com" target="_blank">timurrrr@google.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: timurrrr<br>
Date: Wed May 29 09:11:44 2013<br>
New Revision: 182857<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=182857&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=182857&view=rev</a><br>
Log:<br>
Fix MSVC W3 compiler warnings<br>
<br>
Modified:<br>
    compiler-rt/trunk/lib/asan/asan_fake_stack.cc<br>
    compiler-rt/trunk/lib/asan/asan_fake_stack.h<br>
    compiler-rt/trunk/lib/asan/asan_interceptors.cc<br>
    compiler-rt/trunk/lib/asan/asan_poisoning.h<br>
    compiler-rt/trunk/lib/asan/asan_report.cc<br>
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.h<br>
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_libcdep.cc<br>
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.cc<br>
    compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc<br>
<br>
Modified: compiler-rt/trunk/lib/asan/asan_fake_stack.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_fake_stack.cc?rev=182857&r1=182856&r2=182857&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_fake_stack.cc?rev=182857&r1=182856&r2=182857&view=diff</a><br>



==============================================================================<br>
--- compiler-rt/trunk/lib/asan/asan_fake_stack.cc (original)<br>
+++ compiler-rt/trunk/lib/asan/asan_fake_stack.cc Wed May 29 09:11:44 2013<br>
@@ -141,7 +141,7 @@ ALWAYS_INLINE uptr FakeStack::AllocateSt<br>
<br>
 ALWAYS_INLINE void FakeStack::DeallocateFrame(FakeFrame *fake_frame) {<br>
   CHECK(alive_);<br>
-  uptr size = fake_frame->size_minus_one + 1;<br>
+  uptr size = static_cast<uptr>(fake_frame->size_minus_one + 1);<br>
   uptr size_class = ComputeSizeClass(size);<br>
   CHECK(allocated_size_classes_[size_class]);<br>
   uptr ptr = (uptr)fake_frame;<br>
<br>
Modified: compiler-rt/trunk/lib/asan/asan_fake_stack.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_fake_stack.h?rev=182857&r1=182856&r2=182857&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_fake_stack.h?rev=182857&r1=182856&r2=182857&view=diff</a><br>



==============================================================================<br>
--- compiler-rt/trunk/lib/asan/asan_fake_stack.h (original)<br>
+++ compiler-rt/trunk/lib/asan/asan_fake_stack.h Wed May 29 09:11:44 2013<br>
@@ -80,7 +80,7 @@ class FakeStack {<br>
   static void OnFree(uptr ptr, uptr size, uptr real_stack);<br>
   // Return the bottom of the maped region.<br>
   uptr AddrIsInFakeStack(uptr addr);<br>
-  bool StackSize() { return stack_size_; }<br>
+  uptr StackSize() const { return stack_size_; }<br>
<br>
  private:<br>
   static const uptr kMinStackFrameSizeLog = 9;  // Min frame is 512B.<br>
<br>
Modified: compiler-rt/trunk/lib/asan/asan_interceptors.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_interceptors.cc?rev=182857&r1=182856&r2=182857&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_interceptors.cc?rev=182857&r1=182856&r2=182857&view=diff</a><br>



==============================================================================<br>
--- compiler-rt/trunk/lib/asan/asan_interceptors.cc (original)<br>
+++ compiler-rt/trunk/lib/asan/asan_interceptors.cc Wed May 29 09:11:44 2013<br>
@@ -673,7 +673,7 @@ INTERCEPTOR_WINAPI(DWORD, CreateThread,<br>
   u32 current_tid = GetCurrentTidOrInvalid();<br>
   AsanThread *t = AsanThread::Create(start_routine, arg);<br>
   CreateThreadContextArgs args = { t, &stack };<br>
-  int detached = 0;  // FIXME: how can we determine it on Windows?<br>
+  bool detached = 0;  // FIXME: how can we determine it on Windows?<br></blockquote><div><br></div></div></div><div>Using 'false' to initializer a bool might be nicer.</div><div><div class="h5"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



   asanThreadRegistry().CreateThread(*(uptr*)t, detached, current_tid, &args);<br>
   return REAL(CreateThread)(security, stack_size,<br>
                             asan_thread_start, t, flags, tid);<br>
<br>
Modified: compiler-rt/trunk/lib/asan/asan_poisoning.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_poisoning.h?rev=182857&r1=182856&r2=182857&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_poisoning.h?rev=182857&r1=182856&r2=182857&view=diff</a><br>



==============================================================================<br>
--- compiler-rt/trunk/lib/asan/asan_poisoning.h (original)<br>
+++ compiler-rt/trunk/lib/asan/asan_poisoning.h Wed May 29 09:11:44 2013<br>
@@ -50,7 +50,7 @@ ALWAYS_INLINE void FastPoisonShadowParti<br>
     } else if (i >= size) {<br>
       *shadow = (SHADOW_GRANULARITY == 128) ? 0xff : value;  // unaddressable<br>
     } else {<br>
-      *shadow = size - i;  // first size-i bytes are addressable<br>
+      *shadow = static_cast<u8>(size - i);  // first size-i bytes are addressable<br>
     }<br>
   }<br>
 }<br>
<br>
Modified: compiler-rt/trunk/lib/asan/asan_report.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_report.cc?rev=182857&r1=182856&r2=182857&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_report.cc?rev=182857&r1=182856&r2=182857&view=diff</a><br>



==============================================================================<br>
--- compiler-rt/trunk/lib/asan/asan_report.cc (original)<br>
+++ compiler-rt/trunk/lib/asan/asan_report.cc Wed May 29 09:11:44 2013<br>
@@ -125,7 +125,7 @@ static void PrintLegend() {<br>
          "application bytes):\n", (int)SHADOW_GRANULARITY);<br>
   PrintShadowByte("  Addressable:           ", 0);<br>
   Printf("  Partially addressable: ");<br>
-  for (uptr i = 1; i < SHADOW_GRANULARITY; i++)<br>
+  for (u8 i = 1; i < SHADOW_GRANULARITY; i++)<br>
     PrintShadowByte("", i, " ");<br>
   Printf("\n");<br>
   PrintShadowByte("  Heap left redzone:     ", kAsanHeapLeftRedzoneMagic);<br>
@@ -267,7 +267,7 @@ const char *ThreadNameWithParenthesis(u3<br>
 bool DescribeAddressIfStack(uptr addr, uptr access_size) {<br>
   AsanThread *t = FindThreadByStackAddress(addr);<br>
   if (!t) return false;<br>
-  const sptr kBufSize = 4095;<br>
+  const s64 kBufSize = 4095;<br>
   char buf[kBufSize];<br>
   uptr offset = 0;<br>
   uptr frame_pc = 0;<br>
@@ -306,13 +306,13 @@ bool DescribeAddressIfStack(uptr addr, u<br>
   PrintStack(&alloca_stack);<br>
   // Report the number of stack objects.<br>
   char *p;<br>
-  uptr n_objects = internal_simple_strtoll(frame_descr, &p, 10);<br>
+  s64 n_objects = internal_simple_strtoll(frame_descr, &p, 10);<br>
   CHECK_GT(n_objects, 0);<br>
   Printf("  This frame has %zu object(s):\n", n_objects);<br>
   // Report all objects in this frame.<br>
-  for (uptr i = 0; i < n_objects; i++) {<br>
-    uptr beg, size;<br>
-    sptr len;<br>
+  for (s64 i = 0; i < n_objects; i++) {<br>
+    s64 beg, size;<br>
+    s64 len;<br>
     beg  = internal_simple_strtoll(p, &p, 10);<br>
     size = internal_simple_strtoll(p, &p, 10);<br>
     len  = internal_simple_strtoll(p, &p, 10);<br>
@@ -323,9 +323,9 @@ bool DescribeAddressIfStack(uptr addr, u<br>
     }<br>
     p++;<br>
     buf[0] = 0;<br>
-    internal_strncat(buf, p, Min(kBufSize, len));<br>
+    internal_strncat(buf, p, static_cast<uptr>(Min(kBufSize, len)));<br>
     p += len;<br>
-    Printf("    [%zu, %zu) '%s'\n", beg, beg + size, buf);<br>
+    Printf("    [%lld, %lld) '%s'\n", beg, beg + size, buf);<br>
   }<br>
   Printf("HINT: this may be a false positive if your program uses "<br>
              "some custom stack unwind mechanism or swapcontext\n"<br>
<br>
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.h?rev=182857&r1=182856&r2=182857&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.h?rev=182857&r1=182856&r2=182857&view=diff</a><br>



==============================================================================<br>
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.h (original)<br>
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_allocator.h Wed May 29 09:11:44 2013<br>
@@ -779,7 +779,7 @@ class SizeClassAllocator32 {<br>
     MapUnmapCallback().OnMap(res, kRegionSize);<br>
     stat->Add(AllocatorStatMmapped, kRegionSize);<br>
     CHECK_EQ(0U, (res & (kRegionSize - 1)));<br>
-    possible_regions.set(ComputeRegionId(res), class_id);<br>
+    possible_regions.set(ComputeRegionId(res), static_cast<u8>(class_id));<br>
     return res;<br>
   }<br>
<br>
<br>
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_libcdep.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_libcdep.cc?rev=182857&r1=182856&r2=182857&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_libcdep.cc?rev=182857&r1=182856&r2=182857&view=diff</a><br>



==============================================================================<br>
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_libcdep.cc (original)<br>
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_common_libcdep.cc Wed May 29 09:11:44 2013<br>
@@ -17,7 +17,7 @@ namespace __sanitizer {<br>
<br>
 bool PrintsToTty() {<br>
   MaybeOpenReportFile();<br>
-  return internal_isatty(report_fd);<br>
+  return internal_isatty(report_fd) != 0;<br>
 }<br>
<br>
 }  // namespace __sanitizer<br>
<br>
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.cc?rev=182857&r1=182856&r2=182857&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.cc?rev=182857&r1=182856&r2=182857&view=diff</a><br>



==============================================================================<br>
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.cc (original)<br>
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_flags.cc Wed May 29 09:11:44 2013<br>
@@ -97,7 +97,7 @@ void ParseFlag(const char *env, int *fla<br>
   int value_length;<br>
   if (!GetFlagValue(env, name, &value, &value_length))<br>
     return;<br>
-  *flag = internal_atoll(value);<br>
+  *flag = static_cast<int>(internal_atoll(value));<br>
 }<br>
<br>
 static LowLevelAllocator allocator_for_flags;<br>
<br>
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc?rev=182857&r1=182856&r2=182857&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc?rev=182857&r1=182856&r2=182857&view=diff</a><br>



==============================================================================<br>
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc (original)<br>
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_printf.cc Wed May 29 09:11:44 2013<br>
@@ -59,7 +59,7 @@ static int AppendUnsigned(char **buff, c<br>
   }<br>
   int result = 0;<br>
   while (pos-- > 0) {<br>
-    uptr digit = num_buffer[pos];<br>
+    char digit = static_cast<char>(num_buffer[pos]);<br>
     result += AppendChar(buff, buff_end, (digit < 10) ? '0' + digit<br>
                                                       : 'a' + digit - 10);<br>
   }<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div></div></div><br></div></div>
</blockquote></div><br></div>