================
@@ -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

Reply via email to