Home | History | Annotate | Download | only in SemaCXX
      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