dcoughlin added a comment. Are the parameter types actually needed? I think in general the rest of the analyzer uses arity alone.
Is the idea to allow for overloads in C++? If so, then I think this equivalent-up-to-size-and-sign approach will disallow those overloads. ================ Comment at: lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp:393 +bool StdLibraryFunctionsChecker::FunctionSummaryTy::typesAreEqual( + QualType Lhs, QualType Rhs, ASTContext &ACtx) { ---------------- Maybe this should be named something like "typesMatch" since it is not actually return whether the types are equal? ================ Comment at: lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp:418 + + return ACtx.getTypeSize(Lhs) == ACtx.getTypeSize(Rhs); +} ---------------- If the problem is only for ssize_t, would it make sense to only do this if both the lhs and rhs are signed? Another possibility is to have an lhs of what we think is the ssize_t type match any signed type. https://reviews.llvm.org/D25940 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits