As part of my Google Summer of Code project, I am working on adding support for Integer Set Library (ISL) annotations to the current RetainCountChecker.
Note about ISL:
ISL has annotations isl_give and isl_take which are analogous to cf_returns_retained and cf_consumed but in case of ISL, annotations precede datatypes of function parameters.
So far, to build the ISL codebase using scan-build, I was #define-ing isl_give and isl_take to attribute((cf_returns_retained)) and attribute((cf_consumed)) respectively which resulted in the analyzer treating ISL objects as Core Foundation objects while performing reference counting.
This patch aims to add support for generic annotations (attribute(annotate("give"))) and attribute(annotate("take")))) in RetainCountChecker hence enabling the RetainCountChecker to perform reference counting for any codebase written in C.
Let me know your comments on the same.