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