faisalv added inline comments.
================ Comment at: include/clang/AST/ExprCXX.h:4416 +/// According to C++2a [expr.prim.id]p3 an id-expression that denotes the +/// specialization of a concepts results in a prvalue of type bool. +class ConceptSpecializationExpr final : public Expr { ---------------- Typo (Hubert): concepts -> concept ================ Comment at: include/clang/AST/ExprCXX.h:4419 +protected: + /// \brief The concept specialization this represents. + ConceptDecl *SpecializedConcept; ---------------- Hubert: The concept named. ================ Comment at: include/clang/AST/ExprCXX.h:4420 + /// \brief The concept specialization this represents. + ConceptDecl *SpecializedConcept; + ---------------- NamedConcept ================ Comment at: include/clang/Sema/Sema.h:5577 + ConceptDecl *CTD, + const TemplateArgumentListInfo *TALI); + ---------------- Hubert: clang-format this ================ Comment at: include/clang/Sema/Sema.h:5580 + /// Check whether the given expression is a valid constraint expression. + /// A diagnostic is emmited if it is not, and false is returned. + bool CheckConstraintExpression(Expr *CE); ---------------- Hubert: Typo: emitted ================ Comment at: lib/AST/ExprCXX.cpp:1441 +ConceptSpecializationExpr::ConceptSpecializationExpr(ASTContext &C, Sema &S, + SourceLocation ConceptNameLoc, + ConceptDecl *CD, ---------------- Hubert: clang-format ================ Comment at: lib/AST/ExprCXX.cpp:1478 + { + // We do not want error diagnostics escaping here. + Sema::SFINAETrap Trap(S); ---------------- Hubert: This needs a TODO: the idea is not to drop SFINAE errors, but to avoid instantiation that may trigger errors not in the immediate context of instantiation. The substitution needs to happen piecewise. ================ Comment at: lib/AST/ExprCXX.cpp:1485 + // constraint is not satisfied. + IsSatisfied = false; + return true; ---------------- Hubert: The name of the function gives no indication that it modifies the expression node. The interface of the function extends past what is expected. Repository: rC Clang https://reviews.llvm.org/D41217 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits