1ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanian// RUN: %clang_cc1 -fsyntax-only -Wno-deprecated-writable-strings -verify %s
26bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -fsyntax-only -Wno-deprecated -Wdeprecated-increment-bool -verify %s
3069a6da34a86c97ffe78c379da246fc8116daaffDouglas Gregor// RUN: %clang_cc1 -fsyntax-only -fwritable-strings -verify %s
4f3babb93eba416ff30c4408d843b7408221e1d4eChandler Carruth// RUN: %clang_cc1 -fsyntax-only -Wno-write-strings -verify %s
5e05372a773e3c8c9a606af9ee6bc9ee4fc103804Richard Smith// RUN: %clang_cc1 -fsyntax-only -Werror=c++11-compat -verify %s -DERROR
66bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -fsyntax-only -Werror=deprecated -Wno-error=deprecated-increment-bool -verify %s -DERROR
76bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s
86bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s -Wno-deprecated -Wdeprecated-increment-bool
96bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -fsyntax-only -std=c++11 -verify %s -pedantic-errors -DERROR
10ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanian// rdar://8827606
11ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanian
12ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanianchar *fun(void)
13ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanian{
14ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanian   return "foo";
156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines#if __cplusplus >= 201103L
16e05372a773e3c8c9a606af9ee6bc9ee4fc103804Richard Smith#ifdef ERROR
176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines   // expected-error@-3 {{ISO C++11 does not allow conversion from string literal to 'char *'}}
186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines#else
196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines   // expected-warning@-5 {{ISO C++11 does not allow conversion from string literal to 'char *'}}
206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines#endif
216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines#elif defined(ERROR)
226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines   // expected-error@-8 {{deprecated}}
23e05372a773e3c8c9a606af9ee6bc9ee4fc103804Richard Smith#endif
24ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanian}
25ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanian
26ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanianvoid test(bool b)
27ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanian{
28ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanian  ++b; // expected-warning {{incrementing expression of type bool is deprecated}}
29ebfde17d96960808fdc8d39098968818a18f2f42Fariborz Jahanian}
30