1 | // RUN: %clang_cc1 -fsyntax-only -verify %s -DWARNING |
2 | // RUN: %clang_cc1 -fsyntax-only -std=c++98 -verify %s -DWARNING |
3 | // RUN: %clang_cc1 -fsyntax-only -std=c++98 -Wno-deprecated-writable-strings -verify %s |
4 | // RUN: %clang_cc1 -fsyntax-only -std=c++98 -Wno-deprecated -Wdeprecated-increment-bool -verify %s |
5 | // RUN: %clang_cc1 -fsyntax-only -std=c++98 -fwritable-strings -verify %s |
6 | // RUN: %clang_cc1 -fsyntax-only -std=c++98 -Wno-write-strings -verify %s |
7 | // RUN: %clang_cc1 -fsyntax-only -std=c++98 -Werror=c++11-compat -verify %s -DERROR |
8 | // RUN: %clang_cc1 -fsyntax-only -std=c++98 -Werror=deprecated -Wno-error=deprecated-increment-bool -verify %s -DERROR |
9 | // RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s -DWARNING |
10 | // RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s -Wno-deprecated -Wdeprecated-increment-bool -DWARNING |
11 | // RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s -pedantic-errors -DERROR |
12 | // rdar://8827606 |
13 | |
14 | char *fun(void) |
15 | { |
16 | return "foo"; |
17 | #if defined(ERROR) |
18 | #if __cplusplus >= 201103L |
19 | // expected-error@-3 {{ISO C++11 does not allow conversion from string literal to 'char *'}} |
20 | #else |
21 | // expected-error@-5 {{conversion from string literal to 'char *' is deprecated}} |
22 | #endif |
23 | #elif defined(WARNING) |
24 | #if __cplusplus >= 201103L |
25 | // expected-warning@-9 {{ISO C++11 does not allow conversion from string literal to 'char *'}} |
26 | #else |
27 | // expected-warning@-11 {{conversion from string literal to 'char *' is deprecated}} |
28 | #endif |
29 | #endif |
30 | } |
31 | |
32 | void test(bool b) |
33 | { |
34 | ++b; // expected-warning {{incrementing expression of type bool is deprecated}} |
35 | } |
36 | |