[Lldb-commits] [PATCH] Work around for Visual Studio 2013 compiler crash

Aidan Dodds Aidan at codeplay.com
Wed Dec 17 09:51:26 PST 2014


I have revised the patch after review by Zachary.

It seems the crash was triggered specificaly when indexing m_fields via the ConstString constructed inline, so I still had to pull that out to a local variable however.


http://reviews.llvm.org/D6702

Files:
  include/lldb/Utility/ProcessStructReader.h

Index: include/lldb/Utility/ProcessStructReader.h
===================================================================
--- include/lldb/Utility/ProcessStructReader.h
+++ include/lldb/Utility/ProcessStructReader.h
@@ -63,7 +63,9 @@
                 // no support for things larger than a uint64_t (yet)
                 if (size > 8)
                     return;
-                m_fields[ConstString(name.c_str())] = FieldImpl{field_type,static_cast<size_t>(bit_offset/8),static_cast<size_t>(size)};
+                ConstString const_name = ConstString(name.c_str());
+                size_t byte_index = static_cast<size_t>(bit_offset/8);
+                m_fields[const_name] = FieldImpl{field_type,byte_index,size};
             }
             size_t total_size = struct_type.GetByteSize();
             lldb::DataBufferSP buffer_sp(new DataBufferHeap(total_size,0));

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6702.17399.patch
Type: text/x-patch
Size: 871 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20141217/21d75e64/attachment.bin>


More information about the lldb-commits mailing list