[clang] [analyzer] Use explicit call description mode in MIGChecker (PR #91331)
DonĂ¡t Nagy via cfe-commits
cfe-commits at lists.llvm.org
Tue May 7 07:19:28 PDT 2024
================
@@ -46,13 +46,13 @@ class MIGChecker : public Checker<check::PostCall, check::PreStmt<ReturnStmt>,
// additionally an argument of a MIG routine, the checker keeps track of that
// information and issues a warning when an error is returned from the
// respective routine.
- std::vector<std::pair<CallDescription, unsigned>> Deallocators = {
+ CallDescriptionMap<unsigned> Deallocators = {
#define CALL(required_args, deallocated_arg, ...) \
- {{{__VA_ARGS__}, required_args}, deallocated_arg}
- // E.g., if the checker sees a C function 'vm_deallocate' that is
- // defined on class 'IOUserClient' that has exactly 3 parameters, it knows
- // that argument #1 (starting from 0, i.e. the second argument) is going
- // to be consumed in the sense of the MIG consume-on-success convention.
+ {{CDM::SimpleFunc, {__VA_ARGS__}, required_args}, deallocated_arg}
----------------
NagyDonat wrote:
`CDM::SimpleFunc` is used for the sake of consistency with the case of `os_ref_retain` (and because I'm not familiar with this calling convention).
https://github.com/llvm/llvm-project/pull/91331
More information about the cfe-commits
mailing list