This tries to find code similar that immediately destroys
an object that looks like it's trying to follow RAII.
{ scoped_lock(&global_mutex); critical_section(); }
This checker will have false positives if someone uses this pattern
to legitimately invoke a destructor immediately (or the statement is
at the end of a scope anyway). To reduce the number we ignore this
pattern in macros (this is heavily used by gtest) and ignore objects
with no user-defined destructor.