[PATCH] D38955: LLD/ELF: Fix C4307: '-': integral constant overflow for MSVC15

Konstantin Zhuravlyov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 16 08:44:37 PDT 2017


kzhuravl created this revision.
Herald added subscribers: wdng, emaste.

https://reviews.llvm.org/D38955

Files:
  ELF/SymbolTable.cpp
  ELF/SymbolTable.h


Index: ELF/SymbolTable.h
===================================================================
--- ELF/SymbolTable.h
+++ ELF/SymbolTable.h
@@ -105,6 +105,8 @@
   struct SymIndex {
     int32_t Idx : 31;
     uint32_t Traced : 1;
+
+    SymIndex(int32_t Idx, bool Traced) : Idx(Idx), Traced(Traced) {}
   };
 
   // The order the global symbols are in is not defined. We can use an arbitrary
Index: ELF/SymbolTable.cpp
===================================================================
--- ELF/SymbolTable.cpp
+++ ELF/SymbolTable.cpp
@@ -240,13 +240,13 @@
     Name = Name.take_front(Pos);
 
   auto P = Symtab.insert(
-      {CachedHashStringRef(Name), SymIndex{(int)SymVector.size(), false}});
+      {CachedHashStringRef(Name), SymIndex((int)SymVector.size(), false)});
   SymIndex &V = P.first->second;
   bool IsNew = P.second;
 
   if (V.Idx == -1) {
     IsNew = true;
-    V = SymIndex{(int)SymVector.size(), true};
+    V = SymIndex((int)SymVector.size(), true);
   }
 
   Symbol *Sym;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D38955.119163.patch
Type: text/x-patch
Size: 993 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20171016/c88d6699/attachment.bin>


More information about the llvm-commits mailing list