================ @@ -11881,6 +11896,8 @@ CheckPrintfHandler::checkFormatExpr(const analyze_printf::PrintfSpecifier &FS, ICE->getType() == S.Context.UnsignedIntTy) { // All further checking is done on the subexpression ImplicitMatch = AT.matchesType(S.Context, ExprTy); ---------------- karka228 wrote:
After more testing I have found out that this call to AT.matchesTypes (row 11898) can introduce new normal -Wformat warnings that should not occur. This happens if the above call to AT.matchesTypes (row 11875) return ArgType::NoMatchSignedness that is not returned at this call to AT.matchesTypes (row 11898) as we are looking through the promoted int type, but instead we get ArgType::NoMatch returned. This mean that if the original AT.matchesTypes at row 11875 return a signedness match then this this call to AT.matchesTypes (row 11898) also must return a signedness match for us to report a new warning, otherwise we might introduce unwanted warnings. I will update the code to fix this ... https://github.com/llvm/llvm-project/pull/74440 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits