forked from OSchip/llvm-project
[modules] Store mangling numbers in a deterministic order so they don't cause the resulting .pcm files to be nondeterministic.
llvm-svn: 263996
This commit is contained in:
parent
bd4dc69308
commit
e9b02d68f4
|
@ -36,6 +36,7 @@
|
|||
#include "llvm/ADT/DenseMap.h"
|
||||
#include "llvm/ADT/FoldingSet.h"
|
||||
#include "llvm/ADT/IntrusiveRefCntPtr.h"
|
||||
#include "llvm/ADT/MapVector.h"
|
||||
#include "llvm/ADT/SmallPtrSet.h"
|
||||
#include "llvm/ADT/TinyPtrVector.h"
|
||||
#include "llvm/Support/Allocator.h"
|
||||
|
@ -393,8 +394,8 @@ private:
|
|||
|
||||
/// \brief Side-table of mangling numbers for declarations which rarely
|
||||
/// need them (like static local vars).
|
||||
llvm::DenseMap<const NamedDecl *, unsigned> MangleNumbers;
|
||||
llvm::DenseMap<const VarDecl *, unsigned> StaticLocalNumbers;
|
||||
llvm::MapVector<const NamedDecl *, unsigned> MangleNumbers;
|
||||
llvm::MapVector<const VarDecl *, unsigned> StaticLocalNumbers;
|
||||
|
||||
/// \brief Mapping that stores parameterIndex values for ParmVarDecls when
|
||||
/// that value exceeds the bitfield size of ParmVarDeclBits.ParameterIndex.
|
||||
|
|
|
@ -8684,8 +8684,7 @@ void ASTContext::setManglingNumber(const NamedDecl *ND, unsigned Number) {
|
|||
}
|
||||
|
||||
unsigned ASTContext::getManglingNumber(const NamedDecl *ND) const {
|
||||
llvm::DenseMap<const NamedDecl *, unsigned>::const_iterator I =
|
||||
MangleNumbers.find(ND);
|
||||
auto I = MangleNumbers.find(ND);
|
||||
return I != MangleNumbers.end() ? I->second : 1;
|
||||
}
|
||||
|
||||
|
@ -8695,8 +8694,7 @@ void ASTContext::setStaticLocalNumber(const VarDecl *VD, unsigned Number) {
|
|||
}
|
||||
|
||||
unsigned ASTContext::getStaticLocalNumber(const VarDecl *VD) const {
|
||||
llvm::DenseMap<const VarDecl *, unsigned>::const_iterator I =
|
||||
StaticLocalNumbers.find(VD);
|
||||
auto I = StaticLocalNumbers.find(VD);
|
||||
return I != StaticLocalNumbers.end() ? I->second : 1;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue