urnathan added inline comments.
================ Comment at: clang/lib/Sema/SemaTemplate.cpp:2654-2656 + if (!C.hasSameType(DefaultArgumentX->getType(), + DefaultArgumentY->getType())) + return false; ---------------- Can this ever trigger and the below expression test not trigger, given the above type comparison? ================ Comment at: clang/lib/Sema/SemaTemplate.cpp:2658-2682 + Expr::EvalResult EVRX, EVRY; + if (!DefaultArgumentX->EvaluateAsConstantExpr(EVRX, C) || + !DefaultArgumentY->EvaluateAsConstantExpr(EVRY, C)) + return false; + + APValue VX = EVRX.Val, VY = EVRY.Val; + if (VX.getKind() != VY.getKind()) ---------------- I'm kind of surprised how complex this check is. Isn't there an AST comparator available somewhere? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D118034/new/ https://reviews.llvm.org/D118034 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits