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;