diff options
Diffstat (limited to 'clang/lib/AST/ComputeDependence.cpp')
-rw-r--r-- | clang/lib/AST/ComputeDependence.cpp | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/clang/lib/AST/ComputeDependence.cpp b/clang/lib/AST/ComputeDependence.cpp index 5262e3c..4026fdc 100644 --- a/clang/lib/AST/ComputeDependence.cpp +++ b/clang/lib/AST/ComputeDependence.cpp @@ -64,7 +64,7 @@ ExprDependence clang::computeDependence(UnaryOperator *E, if (VD && VD->isTemplated()) { auto *VarD = dyn_cast<VarDecl>(VD); if (!VarD || !VarD->hasLocalStorage()) - Dep |= ExprDependence::ValueInstantiation; + Dep |= ExprDependence::Value; } } } @@ -443,21 +443,12 @@ ExprDependence clang::computeDependence(DeclRefExpr *E, const ASTContext &Ctx) { if (auto *FirstArg = E->getTemplateArgs()) { unsigned NumArgs = E->getNumTemplateArgs(); for (auto *Arg = FirstArg, *End = FirstArg + NumArgs; Arg < End; ++Arg) - Deps |= toExprDependence(Arg->getArgument().getDependence() & - ~TemplateArgumentDependence::Dependent); + Deps |= toExprDependence(Arg->getArgument().getDependence()); } auto *Decl = E->getDecl(); - auto *Found = E->getFoundDecl(); auto Type = E->getType(); - // FIXME: For a ParmVarDecl referenced in a function signature, we don't know - // its dependence yet! - if (!isa<ParmVarDecl>(Decl)) { - if (Decl->getDeclContext()->isDependentContext() || - (Found && Found->getDeclContext()->isDependentContext())) - Deps |= ExprDependence::Instantiation; - } if (Decl->isParameterPack()) Deps |= ExprDependence::UnexpandedPack; Deps |= toExprDependence(Type->getDependence()) & ExprDependence::Error; |