Author: jgorbe
Date: Thu Nov  8 11:57:59 2018
New Revision: 346435

URL: http://llvm.org/viewvc/llvm-project?rev=346435&view=rev
Log:
[lldb] Fix initialization order warnings.

Moved the declaration of m_kind below the declaration of cvclass,
cvunion and cvenum. This order is necessary because in one of the
constructors the initialization of m_kind depends on the value of
cvclass.

third_party/llvm/llvm/tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp:50:7:
 error: field 'cvclass' will be initialized after field 'm_kind' 
[-Werror,-Wreorder]
    : cvclass(std::move(c)),
      ^
third_party/llvm/llvm/tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbUtil.cpp:51:14:
 error: field 'cvclass' is uninitialized when used here 
[-Werror,-Wuninitialized]
      m_kind(cvclass.Kind == TypeRecordKind::Struct ? Struct : Class) {}

Modified:
    lldb/trunk/source/Plugins/SymbolFile/NativePDB/PdbUtil.h

Modified: lldb/trunk/source/Plugins/SymbolFile/NativePDB/PdbUtil.h
URL: 
http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/SymbolFile/NativePDB/PdbUtil.h?rev=346435&r1=346434&r2=346435&view=diff
==============================================================================
--- lldb/trunk/source/Plugins/SymbolFile/NativePDB/PdbUtil.h (original)
+++ lldb/trunk/source/Plugins/SymbolFile/NativePDB/PdbUtil.h Thu Nov  8 
11:57:59 2018
@@ -56,12 +56,12 @@ private:
   CVTagRecord(llvm::codeview::ClassRecord &&c);
   CVTagRecord(llvm::codeview::UnionRecord &&u);
   CVTagRecord(llvm::codeview::EnumRecord &&e);
-  Kind m_kind;
   union {
     llvm::codeview::ClassRecord cvclass;
     llvm::codeview::EnumRecord cvenum;
     llvm::codeview::UnionRecord cvunion;
   };
+  Kind m_kind;
 };
 
 struct SegmentOffset {


_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to