Skip to content

Commit

Permalink
Apply suggestions from clang-tidy and clang-format.
Browse files Browse the repository at this point in the history
  • Loading branch information
vgvassilev committed Nov 3, 2023
1 parent fde55c9 commit 44ed0e7
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 15 deletions.
6 changes: 3 additions & 3 deletions include/clad/Differentiator/StmtClone.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,10 +50,10 @@ namespace utils {

/// Cloning types is necessary since VariableArrayType
/// store a pointer to their size expression.
clang::QualType CloneType(const clang::QualType T);
clang::QualType CloneType(clang::QualType T);

// visitor part (not for public use)
// Stmt.def could be used if ABSTR_STMT is introduced
// visitor part (not for public use)
// Stmt.def could be used if ABSTR_STMT is introduced
#define DECLARE_CLONE_FN(CLASS) clang::Stmt* Visit ## CLASS(clang::CLASS *Node);
DECLARE_CLONE_FN(BinaryOperator)
DECLARE_CLONE_FN(UnaryOperator)
Expand Down
2 changes: 1 addition & 1 deletion include/clad/Differentiator/VisitorBase.h
Original file line number Diff line number Diff line change
Expand Up @@ -560,7 +560,7 @@ namespace clad {
clang::Expr* Clone(const clang::Expr* E);
/// Cloning types is necessary since VariableArrayType
/// store a pointer to their size expression.
clang::QualType CloneType(const clang::QualType T);
clang::QualType CloneType(clang::QualType T);
};
} // end namespace clad

Expand Down
50 changes: 39 additions & 11 deletions lib/Differentiator/StmtClone.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Stmt* StmtClone::Visit ## CLASS(CLASS *Node) \
clad_compat::ExprSetDeps(result, Node); \
return result; \
}

// NOLINTBEGIN(modernize-use-auto)
DEFINE_CLONE_EXPR_CO11(BinaryOperator, (CLAD_COMPAT_CLANG11_Ctx_ExtraParams Clone(Node->getLHS()), Clone(Node->getRHS()), Node->getOpcode(), CloneType(Node->getType()), Node->getValueKind(), Node->getObjectKind(), Node->getOperatorLoc(), Node->getFPFeatures(CLAD_COMPAT_CLANG11_LangOptions_EtraParams)))
DEFINE_CLONE_EXPR_CO11(UnaryOperator, (CLAD_COMPAT_CLANG11_Ctx_ExtraParams Clone(Node->getSubExpr()), Node->getOpcode(), CloneType(Node->getType()), Node->getValueKind(), Node->getObjectKind(), Node->getOperatorLoc() CLAD_COMPAT_CLANG7_UnaryOperator_ExtraParams CLAD_COMPAT_CLANG11_UnaryOperator_ExtraParams))
Stmt* StmtClone::VisitDeclRefExpr(DeclRefExpr *Node) {
Expand Down Expand Up @@ -102,14 +102,42 @@ Stmt* StmtClone::VisitMemberExpr(MemberExpr* Node) {
return result;
}
DEFINE_CLONE_EXPR(CompoundLiteralExpr, (Node->getLParenLoc(), Node->getTypeSourceInfo(), CloneType(Node->getType()), Node->getValueKind(), Clone(Node->getInitializer()), Node->isFileScope()))
DEFINE_CREATE_EXPR(ImplicitCastExpr, (Ctx, CloneType(Node->getType()), Node->getCastKind(), Clone(Node->getSubExpr()), 0, Node->getValueKind() /*EP*/CLAD_COMPAT_CLANG12_CastExpr_GetFPO(Node) ))
DEFINE_CREATE_EXPR(CStyleCastExpr, (Ctx, CloneType(Node->getType()), Node->getValueKind(), Node->getCastKind(), Clone(Node->getSubExpr()), 0 /*EP*/CLAD_COMPAT_CLANG12_CastExpr_GetFPO(Node), Node->getTypeInfoAsWritten(), Node->getLParenLoc(), Node->getRParenLoc()))
DEFINE_CREATE_EXPR(CXXStaticCastExpr, (Ctx, CloneType(Node->getType()), Node->getValueKind(), Node->getCastKind(), Clone(Node->getSubExpr()), 0, Node->getTypeInfoAsWritten() /*EP*/CLAD_COMPAT_CLANG12_CastExpr_GetFPO(Node), Node->getOperatorLoc(), Node->getRParenLoc(), Node->getAngleBrackets()))
DEFINE_CREATE_EXPR(CXXDynamicCastExpr, (Ctx, CloneType(Node->getType()), Node->getValueKind(), Node->getCastKind(), Clone(Node->getSubExpr()), 0, Node->getTypeInfoAsWritten(), Node->getOperatorLoc(), Node->getRParenLoc(), Node->getAngleBrackets()))
DEFINE_CREATE_EXPR(CXXReinterpretCastExpr, (Ctx, CloneType(Node->getType()), Node->getValueKind(), Node->getCastKind(), Clone(Node->getSubExpr()), 0, Node->getTypeInfoAsWritten(), Node->getOperatorLoc(), Node->getRParenLoc(), Node->getAngleBrackets()))
DEFINE_CREATE_EXPR(
ImplicitCastExpr,
(Ctx, CloneType(Node->getType()), Node->getCastKind(),
Clone(Node->getSubExpr()), nullptr,
Node->getValueKind() /*EP*/ CLAD_COMPAT_CLANG12_CastExpr_GetFPO(Node)))
DEFINE_CREATE_EXPR(CStyleCastExpr,
(Ctx, CloneType(Node->getType()), Node->getValueKind(),
Node->getCastKind(), Clone(Node->getSubExpr()),
nullptr /*EP*/ CLAD_COMPAT_CLANG12_CastExpr_GetFPO(Node),
Node->getTypeInfoAsWritten(), Node->getLParenLoc(),
Node->getRParenLoc()))
DEFINE_CREATE_EXPR(
CXXStaticCastExpr,
(Ctx, CloneType(Node->getType()), Node->getValueKind(), Node->getCastKind(),
Clone(Node->getSubExpr()), nullptr,
Node->getTypeInfoAsWritten() /*EP*/ CLAD_COMPAT_CLANG12_CastExpr_GetFPO(
Node),
Node->getOperatorLoc(), Node->getRParenLoc(), Node->getAngleBrackets()))
DEFINE_CREATE_EXPR(CXXDynamicCastExpr,
(Ctx, CloneType(Node->getType()), Node->getValueKind(),
Node->getCastKind(), Clone(Node->getSubExpr()), nullptr,
Node->getTypeInfoAsWritten(), Node->getOperatorLoc(),
Node->getRParenLoc(), Node->getAngleBrackets()))
DEFINE_CREATE_EXPR(CXXReinterpretCastExpr,
(Ctx, CloneType(Node->getType()), Node->getValueKind(),
Node->getCastKind(), Clone(Node->getSubExpr()), nullptr,
Node->getTypeInfoAsWritten(), Node->getOperatorLoc(),
Node->getRParenLoc(), Node->getAngleBrackets()))
DEFINE_CREATE_EXPR(CXXConstCastExpr, (Ctx, CloneType(Node->getType()), Node->getValueKind(), Clone(Node->getSubExpr()), Node->getTypeInfoAsWritten(), Node->getOperatorLoc(), Node->getRParenLoc(), Node->getAngleBrackets()))
DEFINE_CREATE_EXPR(CXXConstructExpr, (Ctx, CloneType(Node->getType()), Node->getLocation(), Node->getConstructor(), Node->isElidable(), clad_compat::makeArrayRef(Node->getArgs(), Node->getNumArgs()), Node->hadMultipleCandidates(), Node->isListInitialization(), Node->isStdInitListInitialization(), Node->requiresZeroInitialization(), Node->getConstructionKind(), Node->getParenOrBraceRange()))
DEFINE_CREATE_EXPR(CXXFunctionalCastExpr, (Ctx, CloneType(Node->getType()), Node->getValueKind(), Node->getTypeInfoAsWritten(), Node->getCastKind(), Clone(Node->getSubExpr()), 0 /*EP*/CLAD_COMPAT_CLANG12_CastExpr_GetFPO(Node), Node->getLParenLoc(), Node->getRParenLoc()))
DEFINE_CREATE_EXPR(CXXFunctionalCastExpr,
(Ctx, CloneType(Node->getType()), Node->getValueKind(),
Node->getTypeInfoAsWritten(), Node->getCastKind(),
Clone(Node->getSubExpr()),
nullptr /*EP*/ CLAD_COMPAT_CLANG12_CastExpr_GetFPO(Node),
Node->getLParenLoc(), Node->getRParenLoc()))
DEFINE_CREATE_EXPR(ExprWithCleanups, (Ctx, Node->getSubExpr(),
Node->cleanupsHaveSideEffects(), {}))
// clang <= 7 do not have `ConstantExpr` node.
Expand Down Expand Up @@ -140,8 +168,9 @@ DEFINE_CLONE_EXPR(SubstNonTypeTemplateParmExpr, (CloneType(Node->getType()), Nod
DEFINE_CLONE_EXPR(SubstNonTypeTemplateParmExpr, (CloneType(Node->getType()), Node->getValueKind(), Node->getBeginLoc(), Node->getReplacement(), Node->getAssociatedDecl(), Node->getIndex(), Node->getPackIndex(), Node->isReferenceParameter()));
#endif
DEFINE_CREATE_EXPR(PseudoObjectExpr, (Ctx, Node->getSyntacticForm(), llvm::SmallVector<Expr*, 4>(Node->semantics_begin(), Node->semantics_end()), Node->getResultExprIndex()))
//BlockExpr
//BlockDeclRefExpr
// NOLINTEND(modernize-use-auto)
// BlockExpr
// BlockDeclRefExpr

Stmt* StmtClone::VisitStringLiteral(StringLiteral* Node) {
llvm::SmallVector<SourceLocation, 4> concatLocations(Node->tokloc_begin(),
Expand Down Expand Up @@ -447,9 +476,8 @@ bool ReferencesUpdater::VisitStmt(clang::Stmt* S) {
}

void ReferencesUpdater::updateType(QualType QT) {
if (auto* varArrType = dyn_cast<VariableArrayType>(QT)) {
if (const auto* varArrType = dyn_cast<VariableArrayType>(QT))
TraverseStmt(varArrType->getSizeExpr());
}
}

QualType StmtClone::CloneType(const clang::QualType T) {
Expand Down

0 comments on commit 44ed0e7

Please sign in to comment.