1*67e74705SXin Li // RUN: not %clang_cc1 -DTEST_SWITCH -verify-ignore-unexpected=remark,aoeu,note -verify %s 2>&1 \ 2*67e74705SXin Li // RUN: | FileCheck -check-prefix=CHECK-BAD-SWITCH %s 3*67e74705SXin Li #ifdef TEST_SWITCH 4*67e74705SXin Li // expected-no-diagnostics 5*67e74705SXin Li #endif 6*67e74705SXin Li // CHECK-BAD-SWITCH: error: 'error' diagnostics seen but not expected: 7*67e74705SXin Li // CHECK-BAD-SWITCH-NEXT: (frontend): invalid value 'aoeu' in '-verify-ignore-unexpected=' 8*67e74705SXin Li 9*67e74705SXin Li // RUN: %clang_cc1 -DTEST1 -verify %s 10*67e74705SXin Li // RUN: %clang_cc1 -DTEST1 -verify -verify-ignore-unexpected %s 11*67e74705SXin Li #ifdef TEST1 12*67e74705SXin Li #warning MyWarning1 13*67e74705SXin Li // expected-warning@-1 {{MyWarning1}} 14*67e74705SXin Li int x; // expected-note {{previous definition is here}} 15*67e74705SXin Li float x; // expected-error {{redefinition of 'x'}} 16*67e74705SXin Li #endif 17*67e74705SXin Li 18*67e74705SXin Li // RUN: not %clang_cc1 -DTEST2 -verify %s 2>&1 \ 19*67e74705SXin Li // RUN: | FileCheck -check-prefix=CHECK-UNEXP %s 20*67e74705SXin Li // RUN: not %clang_cc1 -DTEST2 -verify -verify-ignore-unexpected= %s 2>&1 \ 21*67e74705SXin Li // RUN: | FileCheck -check-prefix=CHECK-UNEXP %s 22*67e74705SXin Li // RUN: not %clang_cc1 -DTEST2 -verify -verify-ignore-unexpected=note %s 2>&1 \ 23*67e74705SXin Li // RUN: | FileCheck -check-prefix=CHECK-NOTE %s 24*67e74705SXin Li // RUN: not %clang_cc1 -DTEST2 -verify -verify-ignore-unexpected=warning %s 2>&1 \ 25*67e74705SXin Li // RUN: | FileCheck -check-prefix=CHECK-WARN %s 26*67e74705SXin Li // RUN: not %clang_cc1 -DTEST2 -verify -verify-ignore-unexpected=error %s 2>&1 \ 27*67e74705SXin Li // RUN: | FileCheck -check-prefix=CHECK-ERR %s 28*67e74705SXin Li #ifdef TEST2 29*67e74705SXin Li #warning MyWarning2 30*67e74705SXin Li int x; 31*67e74705SXin Li float x; 32*67e74705SXin Li #endif 33*67e74705SXin Li // CHECK-UNEXP: no expected directives found 34*67e74705SXin Li // CHECK-UNEXP-NEXT: 'error' diagnostics seen but not expected 35*67e74705SXin Li // CHECK-UNEXP-NEXT: Line {{[0-9]+}}: redefinition of 'x' 36*67e74705SXin Li // CHECK-UNEXP-NEXT: 'warning' diagnostics seen but not expected 37*67e74705SXin Li // CHECK-UNEXP-NEXT: Line {{[0-9]+}}: MyWarning2 38*67e74705SXin Li // CHECK-UNEXP-NEXT: 'note' diagnostics seen but not expected 39*67e74705SXin Li // CHECK-UNEXP-NEXT: Line {{[0-9]+}}: previous definition is here 40*67e74705SXin Li // CHECK-UNEXP-NEXT: 4 errors generated. 41*67e74705SXin Li 42*67e74705SXin Li // CHECK-NOTE: no expected directives found 43*67e74705SXin Li // CHECK-NOTE-NEXT: 'error' diagnostics seen but not expected 44*67e74705SXin Li // CHECK-NOTE-NEXT: Line {{[0-9]+}}: redefinition of 'x' 45*67e74705SXin Li // CHECK-NOTE-NEXT: 'warning' diagnostics seen but not expected 46*67e74705SXin Li // CHECK-NOTE-NEXT: Line {{[0-9]+}}: MyWarning2 47*67e74705SXin Li // CHECK-NOTE-NEXT: 3 errors generated. 48*67e74705SXin Li 49*67e74705SXin Li // CHECK-WARN: no expected directives found 50*67e74705SXin Li // CHECK-WARN-NEXT: 'error' diagnostics seen but not expected 51*67e74705SXin Li // CHECK-WARN-NEXT: Line {{[0-9]+}}: redefinition of 'x' 52*67e74705SXin Li // CHECK-WARN-NEXT: 'note' diagnostics seen but not expected 53*67e74705SXin Li // CHECK-WARN-NEXT: Line {{[0-9]+}}: previous definition is here 54*67e74705SXin Li // CHECK-WARN-NEXT: 3 errors generated. 55*67e74705SXin Li 56*67e74705SXin Li // CHECK-ERR: no expected directives found 57*67e74705SXin Li // CHECK-ERR-NEXT: 'warning' diagnostics seen but not expected 58*67e74705SXin Li // CHECK-ERR-NEXT: Line {{[0-9]+}}: MyWarning2 59*67e74705SXin Li // CHECK-ERR-NEXT: 'note' diagnostics seen but not expected 60*67e74705SXin Li // CHECK-ERR-NEXT: Line {{[0-9]+}}: previous definition is here 61*67e74705SXin Li // CHECK-ERR-NEXT: 3 errors generated. 62*67e74705SXin Li 63*67e74705SXin Li // RUN: not %clang_cc1 -DTEST3 -verify -verify-ignore-unexpected %s 2>&1 \ 64*67e74705SXin Li // RUN: | FileCheck -check-prefix=CHECK-EXP %s 65*67e74705SXin Li #ifdef TEST3 66*67e74705SXin Li // expected-error {{test3}} 67*67e74705SXin Li #endif 68*67e74705SXin Li // CHECK-EXP: 'error' diagnostics expected but not seen 69*67e74705SXin Li // CHECK-EXP-NEXT: Line {{[0-9]+}}: test3 70*67e74705SXin Li 71*67e74705SXin Li // RUN: not %clang_cc1 -DTEST4 -verify -verify-ignore-unexpected %s 2>&1 \ 72*67e74705SXin Li // RUN: | FileCheck -check-prefix=CHECK-NOEXP %s 73*67e74705SXin Li // RUN: not %clang_cc1 -DTEST4 -verify -verify-ignore-unexpected=warning,error,note %s 2>&1 \ 74*67e74705SXin Li // RUN: | FileCheck -check-prefix=CHECK-NOEXP %s 75*67e74705SXin Li #ifdef TEST4 76*67e74705SXin Li #warning MyWarning4 77*67e74705SXin Li int x; 78*67e74705SXin Li float x; 79*67e74705SXin Li #endif 80*67e74705SXin Li // CHECK-NOEXP: error: no expected directives found 81*67e74705SXin Li // CHECK-NOEXP-NEXT: 1 error generated 82