summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ODRHash.cpp
diff options
context:
space:
mode:
authorHans Wennborg <hans@hanshq.net>2017-04-12 16:40:26 +0000
committerHans Wennborg <hans@hanshq.net>2017-04-12 16:40:26 +0000
commit227077613a996e00e11a9f20de0692d35c8940fb (patch)
tree615d1e4be17cf76948772f8a660ba30142f8d674 /clang/lib/AST/ODRHash.cpp
parent5ac9fd64a3fe21210cf17c0517a39feb0063c106 (diff)
Revert r300001 "Revert r298824 & r298816, recommit r298742 & r298754"
It caused PR32640. llvm-svn: 300074
Diffstat (limited to 'clang/lib/AST/ODRHash.cpp')
-rw-r--r--clang/lib/AST/ODRHash.cpp100
1 files changed, 0 insertions, 100 deletions
diff --git a/clang/lib/AST/ODRHash.cpp b/clang/lib/AST/ODRHash.cpp
index 2ca94e16770c..d72eebbe8e48 100644
--- a/clang/lib/AST/ODRHash.cpp
+++ b/clang/lib/AST/ODRHash.cpp
@@ -169,11 +169,6 @@ public:
Inherited::VisitValueDecl(D);
}
- void VisitParmVarDecl(const ParmVarDecl *D) {
- AddStmt(D->getDefaultArg());
- Inherited::VisitParmVarDecl(D);
- }
-
void VisitAccessSpecDecl(const AccessSpecDecl *D) {
ID.AddInteger(D->getAccess());
Inherited::VisitAccessSpecDecl(D);
@@ -207,12 +202,6 @@ public:
Hash.AddBoolean(D->isPure());
Hash.AddBoolean(D->isDeletedAsWritten());
- ID.AddInteger(D->param_size());
-
- for (auto *Param : D->parameters()) {
- Hash.AddSubDecl(Param);
- }
-
Inherited::VisitFunctionDecl(D);
}
@@ -326,14 +315,6 @@ public:
}
}
- void AddQualType(QualType T) {
- Hash.AddQualType(T);
- }
-
- void VisitQualifiers(Qualifiers Quals) {
- ID.AddInteger(Quals.getAsOpaqueValue());
- }
-
void Visit(const Type *T) {
ID.AddInteger(T->getTypeClass());
Inherited::Visit(T);
@@ -341,92 +322,11 @@ public:
void VisitType(const Type *T) {}
- void VisitAdjustedType(const AdjustedType *T) {
- AddQualType(T->getOriginalType());
- AddQualType(T->getAdjustedType());
- VisitType(T);
- }
-
- void VisitDecayedType(const DecayedType *T) {
- AddQualType(T->getDecayedType());
- AddQualType(T->getPointeeType());
- VisitAdjustedType(T);
- }
-
- void VisitArrayType(const ArrayType *T) {
- AddQualType(T->getElementType());
- ID.AddInteger(T->getSizeModifier());
- VisitQualifiers(T->getIndexTypeQualifiers());
- VisitType(T);
- }
- void VisitConstantArrayType(const ConstantArrayType *T) {
- T->getSize().Profile(ID);
- VisitArrayType(T);
- }
-
- void VisitDependentSizedArrayType(const DependentSizedArrayType *T) {
- AddStmt(T->getSizeExpr());
- VisitArrayType(T);
- }
-
- void VisitIncompleteArrayType(const IncompleteArrayType *T) {
- VisitArrayType(T);
- }
-
- void VisitVariableArrayType(const VariableArrayType *T) {
- AddStmt(T->getSizeExpr());
- VisitArrayType(T);
- }
-
void VisitBuiltinType(const BuiltinType *T) {
ID.AddInteger(T->getKind());
VisitType(T);
}
- void VisitFunctionType(const FunctionType *T) {
- AddQualType(T->getReturnType());
- T->getExtInfo().Profile(ID);
- Hash.AddBoolean(T->isConst());
- Hash.AddBoolean(T->isVolatile());
- Hash.AddBoolean(T->isRestrict());
- VisitType(T);
- }
-
- void VisitFunctionNoProtoType(const FunctionNoProtoType *T) {
- VisitFunctionType(T);
- }
-
- void VisitFunctionProtoType(const FunctionProtoType *T) {
- ID.AddInteger(T->getNumParams());
- for (auto ParamType : T->getParamTypes())
- AddQualType(ParamType);
-
- const auto &epi = T->getExtProtoInfo();
- ID.AddInteger(epi.Variadic);
- ID.AddInteger(epi.TypeQuals);
- ID.AddInteger(epi.RefQualifier);
- ID.AddInteger(epi.ExceptionSpec.Type);
-
- if (epi.ExceptionSpec.Type == EST_Dynamic) {
- for (QualType Ex : epi.ExceptionSpec.Exceptions)
- AddQualType(Ex);
- } else if (epi.ExceptionSpec.Type == EST_ComputedNoexcept &&
- epi.ExceptionSpec.NoexceptExpr) {
- AddStmt(epi.ExceptionSpec.NoexceptExpr);
- } else if (epi.ExceptionSpec.Type == EST_Uninstantiated ||
- epi.ExceptionSpec.Type == EST_Unevaluated) {
- AddDecl(epi.ExceptionSpec.SourceDecl->getCanonicalDecl());
- }
- if (epi.ExtParameterInfos) {
- for (unsigned i = 0; i != T->getNumParams(); ++i)
- ID.AddInteger(epi.ExtParameterInfos[i].getOpaqueValue());
- }
- epi.ExtInfo.Profile(ID);
- Hash.AddBoolean(epi.HasTrailingReturn);
-
- VisitFunctionType(T);
- }
-
void VisitTypedefType(const TypedefType *T) {
AddDecl(T->getDecl());
Hash.AddQualType(T->getDecl()->getUnderlyingType());