| 2231 | } |
| 2232 | |
| 2233 | bool isEscapeFunction(const Token* ftok, const Library& library) |
| 2234 | { |
| 2235 | if (!Token::Match(ftok, "%name% (")) |
| 2236 | return false; |
| 2237 | const Function* function = ftok->function(); |
| 2238 | if (function) { |
| 2239 | if (function->isEscapeFunction()) |
| 2240 | return true; |
| 2241 | if (function->isAttributeNoreturn()) |
| 2242 | return true; |
| 2243 | } else { |
| 2244 | if (library.isnoreturn(ftok)) |
| 2245 | return true; |
| 2246 | } |
| 2247 | return false; |
| 2248 | } |
| 2249 | |
| 2250 | static bool hasNoreturnFunction(const Token* tok, const Library& library, const Token** unknownFunc) |
| 2251 | { |
no test coverage detected