1 // RUN: %clang_cc1 -analyze -fcxx-exceptions -std=c++1z -analyzer-checker=alpha.clone.CloneChecker -verify %s 2 3 // expected-no-diagnostics 4 5 bool foo1(int x) { 6 if (x > 0) 7 return false; 8 else if (x < 0) 9 try { x--; } catch (int i) {} 10 return true; 11 } 12 13 // Uses parenthesis instead of type 14 bool foo2(int x) { 15 if (x > 0) 16 return false; 17 else if (x < 0) 18 try { x--; } catch (...) {} 19 return true; 20 } 21 22 // Catches a different type (long instead of int) 23 bool foo3(int x) { 24 if (x > 0) 25 return false; 26 else if (x < 0) 27 try { x--; } catch (long i) {} 28 return true; 29 } 30