diag-verify.cpp 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // RUN: not %clang_cc1 -fsyntax-only -verify %s 2>&1 | FileCheck %s
  2. // Test the -verify flag. Each of the "x = y;" lines will produce a
  3. // "use of undeclared identifier 'y'" error message.
  4. void test() {
  5. int x;
  6. // Proper matches here.
  7. x = y; // expected-error{{use of undeclared identifier 'y'}}
  8. x = y; // expected-error{{use of undeclared identifier}}
  9. x = y; // expected-error{{undeclared identifier 'y'}}
  10. x = y; // expected-error{{use of}}
  11. x = y; // expected-error{{undeclared identifier}}
  12. x = y; // expected-error{{'y'}}
  13. // Bad matches here.
  14. x = y; // expected-error{{use of undeclared identifier 'y' is fine}}
  15. x = y; // expected-error{{abuse of undeclared identifier 'y'}}
  16. x = y; // expected-error{{good use of undeclared identifier 'y' in code}}
  17. x = y; // expected-error{{ use of undeclared identifier 'y' }}
  18. x = y; // expected-error{{use of undeclared identifier 'y' is disallowed}}
  19. x = y; // expected-error{{please don't use of undeclared identifier 'y'}}
  20. x = y; // expected-error{{use of undeclared identifier 'y'; please declare y before use}}
  21. x = y; // expected-error{{use of use of undeclared identifier 'y'}}
  22. x = y; // expected-error{{use of undeclared identifier 'y' identifier 'y'}}
  23. }
  24. //CHECK: error: 'error' diagnostics expected but not seen:
  25. //CHECK: Line 17: use of undeclared identifier 'y' is fine
  26. //CHECK: Line 18: abuse of undeclared identifier 'y'
  27. //CHECK: Line 19: good use of undeclared identifier 'y' in code
  28. //CHECK: Line 20: use of undeclared identifier 'y'
  29. //CHECK: Line 21: use of undeclared identifier 'y' is disallowed
  30. //CHECK: Line 22: please don't use of undeclared identifier 'y'
  31. //CHECK: Line 23: use of undeclared identifier 'y'; please declare y before use
  32. //CHECK: Line 24: use of use of undeclared identifier 'y'
  33. //CHECK: Line 25: use of undeclared identifier 'y' identifier 'y'
  34. //CHECK: error: 'error' diagnostics seen but not expected:
  35. //CHECK: Line 17: use of undeclared identifier 'y'
  36. //CHECK: Line 18: use of undeclared identifier 'y'
  37. //CHECK: Line 19: use of undeclared identifier 'y'
  38. //CHECK: Line 20: use of undeclared identifier 'y'
  39. //CHECK: Line 21: use of undeclared identifier 'y'
  40. //CHECK: Line 22: use of undeclared identifier 'y'
  41. //CHECK: Line 23: use of undeclared identifier 'y'
  42. //CHECK: Line 24: use of undeclared identifier 'y'
  43. //CHECK: Line 25: use of undeclared identifier 'y'
  44. //CHECK: 18 errors generated.