davrec added inline comments.
Comment at: clang/include/clang/AST/DeclTemplate.h:3427
+TemplateParameterList *getReplacedTemplateParameterList(Decl *D);
+
mizvekov wrote:
> mizvekov wrote:
> > davrec wrote:
> > > davrec wrote:
> > > > I don't object with
davrec added inline comments.
Comment at: clang/include/clang/AST/DeclTemplate.h:3427
+TemplateParameterList *getReplacedTemplateParameterList(Decl *D);
+
davrec wrote:
> I don't object with making this public, and I can see the argument for making
> this its
davrec added a comment.
I like the late changes, just need to add comments to the public methods, and
maybe move `getReplacedTemplateParameterList` over to `Decl`.
Comment at: clang/include/clang/AST/DeclTemplate.h:3427
+TemplateParameterList
davrec accepted this revision.
davrec added a comment.
Looks good, over to @ChuanqiXu
Comment at: clang/include/clang/Sema/Template.h:80
+struct ArgumentListLevel {
+ Decl *AssociatedDecl;
+ ArgList Args;
mizvekov wrote:
> davrec wrote:
> >
davrec added inline comments.
Comment at: clang/lib/Sema/SemaExpr.cpp:1113-1114
+// "double _Complex" is promoted to "long double _Complex".
+static QualType handleComplexFloatConversion(Sema , ExprResult ,
+ QualType LHSType, QualType
davrec added a comment.
The lines you changed (clang/lib/Sema/SemaExpr.cpp:1091-1150) look good (IIUC
you just change cast to cast_as and dyn_cast to getAs, and reorganize for
clarity). I suggested some renaming and a few more comments to further clarify.
Comment at:
davrec added inline comments.
Comment at: clang/include/clang/AST/Type.h:5530-5537
/// Represents a type that was referred to using an elaborated type
/// keyword, e.g., struct S, or via a qualified name, e.g., N::M::type,
/// or both.
///
/// This type is used to keep
davrec added a comment.
`throughUsingDecl` seems like a good solution, though I defer to regular
ASTMatchers users.
One other thought: can we add diagnostic notes using this new information, e.g.
struct A1 {
protected:
using IntType = char;
};
struct A2 {
protected:
using