| // RUN: %clang_analyze_cc1 -fcxx-exceptions -std=c++1z -analyzer-checker=alpha.clone.CloneChecker -analyzer-config alpha.clone.CloneChecker:MinimumCloneComplexity=10 -verify %s |
| |
| // expected-no-diagnostics |
| |
| bool foo1(int x) { |
| if (x > 0) |
| return false; |
| else if (x < 0) |
| try { x--; } catch (int i) {} |
| return true; |
| } |
| |
| // Uses parenthesis instead of type |
| bool foo2(int x) { |
| if (x > 0) |
| return false; |
| else if (x < 0) |
| try { x--; } catch (...) {} |
| return true; |
| } |
| |
| // Catches a different type (long instead of int) |
| bool foo3(int x) { |
| if (x > 0) |
| return false; |
| else if (x < 0) |
| try { x--; } catch (long i) {} |
| return true; |
| } |