HomePhabricator

[analyzer] RetainCount: A function isn't a CFRetain if it takes no arguments.

Authored by dergachev.a on Mar 14 2019, 5:26 PM.

Description

[analyzer] RetainCount: A function isn't a CFRetain if it takes no arguments.

Don't crash when a function has a name that starts with "CF" and ends with
"Retain" but takes 0 arguments. In particular, don't try to treat it as if
it returns its first argument.

These problems are inevitable because the checker is naming-convention-based,
but at least we shouldn't crash.

Differential Revision: https://reviews.llvm.org/D59123

llvm-svn: 356223