From: Fariborz Jahanian Date: Thu, 6 Jan 2011 18:45:19 +0000 (+0000) Subject: Put warning about makeing a string writable into X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ebfde17d96960808fdc8d39098968818a18f2f42;p=clang Put warning about makeing a string writable into its own deprecated diagnostics group so it can be turned off selectively. // rdar://8827606 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@122967 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/DiagnosticGroups.td b/include/clang/Basic/DiagnosticGroups.td index 7b8dd93eb9..897ccf957f 100644 --- a/include/clang/Basic/DiagnosticGroups.td +++ b/include/clang/Basic/DiagnosticGroups.td @@ -35,6 +35,7 @@ def : DiagGroup<"declaration-after-statement">; def GNUDesignator : DiagGroup<"gnu-designator">; def DeprecatedDeclarations : DiagGroup<"deprecated-declarations">; +def DeprecatedWritableStr : DiagGroup<"deprecated-writable-strings">; def Deprecated : DiagGroup<"deprecated", [ DeprecatedDeclarations] >, DiagCategory<"Deprecations">; diff --git a/include/clang/Basic/DiagnosticSemaKinds.td b/include/clang/Basic/DiagnosticSemaKinds.td index 01ea337392..56ee876724 100644 --- a/include/clang/Basic/DiagnosticSemaKinds.td +++ b/include/clang/Basic/DiagnosticSemaKinds.td @@ -2340,7 +2340,7 @@ def err_array_init_not_init_list : Error< "array initializer must be an initializer " "list%select{| or string literal}0">; def warn_deprecated_string_literal_conversion : Warning< - "conversion from string literal to %0 is deprecated">, InGroup; + "conversion from string literal to %0 is deprecated">, InGroup; def err_realimag_invalid_type : Error<"invalid type %0 to %1 operator">; def err_typecheck_sclass_fscope : Error< "illegal storage class on file-scoped variable">; diff --git a/test/SemaCXX/writable-strings-deprecated.cpp b/test/SemaCXX/writable-strings-deprecated.cpp new file mode 100644 index 0000000000..c89c882564 --- /dev/null +++ b/test/SemaCXX/writable-strings-deprecated.cpp @@ -0,0 +1,12 @@ +// RUN: %clang_cc1 -fsyntax-only -Wno-deprecated-writable-strings -verify %s +// rdar://8827606 + +char *fun(void) +{ + return "foo"; +} + +void test(bool b) +{ + ++b; // expected-warning {{incrementing expression of type bool is deprecated}} +}