forked from qt-creator/qt-creator
Clang: Fix paths and updated diff for latest clang patches
I forgot that they must be relative to LLVM folder. Also one patch had a typo and therefore is updated here. Change-Id: I35241db84c0aa394211dfc7b4d779f8dfac5326a Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
--- a/include/clang/Sema/Sema.h
|
--- a/tools/clang/include/clang/Sema/Sema.h
|
||||||
+++ b/include/clang/Sema/Sema.h
|
+++ b/tools/clang/include/clang/Sema/Sema.h
|
||||||
@@ -2707,7 +2707,8 @@
|
@@ -2707,7 +2707,8 @@
|
||||||
OverloadCandidateSet &CandidateSet,
|
OverloadCandidateSet &CandidateSet,
|
||||||
TemplateArgumentListInfo *ExplicitTemplateArgs = nullptr,
|
TemplateArgumentListInfo *ExplicitTemplateArgs = nullptr,
|
||||||
@@ -10,8 +10,8 @@
|
|||||||
void AddMethodCandidate(DeclAccessPair FoundDecl,
|
void AddMethodCandidate(DeclAccessPair FoundDecl,
|
||||||
QualType ObjectType,
|
QualType ObjectType,
|
||||||
Expr::Classification ObjectClassification,
|
Expr::Classification ObjectClassification,
|
||||||
--- a/lib/Sema/SemaCodeComplete.cpp
|
--- a/tools/clang/lib/Sema/SemaCodeComplete.cpp
|
||||||
+++ b/lib/Sema/SemaCodeComplete.cpp
|
+++ b/tools/clang/lib/Sema/SemaCodeComplete.cpp
|
||||||
@@ -4396,9 +4396,11 @@
|
@@ -4396,9 +4396,11 @@
|
||||||
ArgExprs.append(Args.begin(), Args.end());
|
ArgExprs.append(Args.begin(), Args.end());
|
||||||
UnresolvedSet<8> Decls;
|
UnresolvedSet<8> Decls;
|
||||||
@@ -25,8 +25,8 @@
|
|||||||
} else {
|
} else {
|
||||||
FunctionDecl *FD = nullptr;
|
FunctionDecl *FD = nullptr;
|
||||||
if (auto MCE = dyn_cast<MemberExpr>(NakedFn))
|
if (auto MCE = dyn_cast<MemberExpr>(NakedFn))
|
||||||
--- a/lib/Sema/SemaOverload.cpp
|
--- a/tools/clang/lib/Sema/SemaOverload.cpp
|
||||||
+++ b/lib/Sema/SemaOverload.cpp
|
+++ b/tools/clang/lib/Sema/SemaOverload.cpp
|
||||||
@@ -6343,24 +6343,36 @@
|
@@ -6343,24 +6343,36 @@
|
||||||
OverloadCandidateSet& CandidateSet,
|
OverloadCandidateSet& CandidateSet,
|
||||||
TemplateArgumentListInfo *ExplicitTemplateArgs,
|
TemplateArgumentListInfo *ExplicitTemplateArgs,
|
||||||
@@ -72,8 +72,8 @@
|
|||||||
SuppressUserConversions, PartialOverloading);
|
SuppressUserConversions, PartialOverloading);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
--- a/test/Index/complete-call.cpp
|
--- a/tools/clang/test/Index/complete-call.cpp
|
||||||
+++ b/test/Index/complete-call.cpp
|
+++ b/tools/clang/test/Index/complete-call.cpp
|
||||||
@@ -94,6 +94,24 @@
|
@@ -94,6 +94,24 @@
|
||||||
s.foo_7(42,);
|
s.foo_7(42,);
|
||||||
}
|
}
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
diff --git a/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp
|
diff --git a/tools/clang/lib/Sema/SemaOverload.cpp b/lib/Sema/SemaOverload.cpp
|
||||||
index 1b07ec60ce..46ed08d1cf 100644
|
index 1b07ec60ce..46ed08d1cf 100644
|
||||||
--- a/lib/Sema/SemaOverload.cpp
|
--- a/tools/clang/lib/Sema/SemaOverload.cpp
|
||||||
+++ b/lib/Sema/SemaOverload.cpp
|
+++ b/tools/clang/lib/Sema/SemaOverload.cpp
|
||||||
@@ -6371,57 +6371,54 @@ void Sema::AddFunctionCandidates(const UnresolvedSetImpl &Fns,
|
@@ -6321,57 +6321,56 @@ void Sema::AddFunctionCandidates(const UnresolvedSetImpl &Fns,
|
||||||
bool FirstArgumentIsBase) {
|
bool FirstArgumentIsBase) {
|
||||||
for (UnresolvedSetIterator F = Fns.begin(), E = Fns.end(); F != E; ++F) {
|
for (UnresolvedSetIterator F = Fns.begin(), E = Fns.end(); F != E; ++F) {
|
||||||
NamedDecl *D = F.getDecl()->getUnderlyingDecl();
|
NamedDecl *D = F.getDecl()->getUnderlyingDecl();
|
||||||
@@ -56,8 +56,7 @@ index 1b07ec60ce..46ed08d1cf 100644
|
|||||||
+ Expr::Classification ObjectClassification;
|
+ Expr::Classification ObjectClassification;
|
||||||
+ if (Args.size() > 0) {
|
+ if (Args.size() > 0) {
|
||||||
if (Expr *E = Args[0]) {
|
if (Expr *E = Args[0]) {
|
||||||
- // Use the explit base to restrict the lookup:
|
// Use the explit base to restrict the lookup:
|
||||||
+ // Use the explicit base to restrict the lookup:
|
|
||||||
ObjectType = E->getType();
|
ObjectType = E->getType();
|
||||||
ObjectClassification = E->Classify(Context);
|
ObjectClassification = E->Classify(Context);
|
||||||
} // .. else there is an implit base.
|
} // .. else there is an implit base.
|
||||||
@@ -65,19 +64,17 @@ index 1b07ec60ce..46ed08d1cf 100644
|
|||||||
+ }
|
+ }
|
||||||
+ if (IsTemplate)
|
+ if (IsTemplate)
|
||||||
AddMethodTemplateCandidate(
|
AddMethodTemplateCandidate(
|
||||||
- FunTmpl, F.getPair(),
|
FunTmpl, F.getPair(),
|
||||||
- cast<CXXRecordDecl>(FunTmpl->getDeclContext()),
|
cast<CXXRecordDecl>(FunTmpl->getDeclContext()),
|
||||||
- ExplicitTemplateArgs, ObjectType, ObjectClassification,
|
ExplicitTemplateArgs, ObjectType, ObjectClassification,
|
||||||
- Args.slice(1), CandidateSet, SuppressUserConversions,
|
- Args.slice(1), CandidateSet, SuppressUserConversions,
|
||||||
- PartialOverloading);
|
+ FunctionArgs, CandidateSet, SuppressUserConversions,
|
||||||
|
PartialOverloading);
|
||||||
- } else {
|
- } else {
|
||||||
- AddTemplateOverloadCandidate(FunTmpl, F.getPair(),
|
- AddTemplateOverloadCandidate(FunTmpl, F.getPair(),
|
||||||
- ExplicitTemplateArgs, Args,
|
- ExplicitTemplateArgs, Args,
|
||||||
- CandidateSet, SuppressUserConversions,
|
- CandidateSet, SuppressUserConversions,
|
||||||
- PartialOverloading);
|
- PartialOverloading);
|
||||||
+ FunTmpl, F.getPair(), cast<CXXRecordDecl>(FD), ExplicitTemplateArgs,
|
|
||||||
+ ObjectType, ObjectClassification, FunctionArgs, CandidateSet,
|
|
||||||
+ SuppressUserConversions, PartialOverloading);
|
|
||||||
+ else
|
+ else
|
||||||
+ AddMethodCandidate(cast<CXXMethodDecl>(FD), F.getPair(),
|
+ AddMethodCandidate(cast<CXXMethodDecl>(FD), F.getPair(),
|
||||||
+ cast<CXXMethodDecl>(FD)->getParent(), ObjectType,
|
+ cast<CXXMethodDecl>(FD)->getParent(), ObjectType,
|
||||||
@@ -102,10 +99,10 @@ index 1b07ec60ce..46ed08d1cf 100644
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/test/Index/complete-call.cpp b/test/Index/complete-call.cpp
|
diff --git a/tools/clang/test/Index/complete-call.cpp b/test/Index/complete-call.cpp
|
||||||
index ca116485ac..35f2009066 100644
|
index ca116485ac..35f2009066 100644
|
||||||
--- a/test/Index/complete-call.cpp
|
--- a/tools/clang/test/Index/complete-call.cpp
|
||||||
+++ b/test/Index/complete-call.cpp
|
+++ b/tools/clang/test/Index/complete-call.cpp
|
||||||
@@ -112,6 +112,33 @@ struct Bar2 : public Bar {
|
@@ -112,6 +112,33 @@ struct Bar2 : public Bar {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user