зеркало из https://github.com/microsoft/clang-1.git
Place warning about 'readonly' property attributes which
are related to setter syntax under -Wreadonly-setter-attrs to prevent warnings in projects built with gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@61953 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
b3eef68111
Коммит
17d0d0d7ca
|
@ -645,6 +645,10 @@ static llvm::cl::opt<bool>
|
|||
WarnFloatEqual("Wfloat-equal",
|
||||
llvm::cl::desc("Warn about equality comparisons of floating point values"));
|
||||
|
||||
static llvm::cl::opt<bool>
|
||||
WarnPropertyReadonlyAttrs("Wreadonly-setter-attrs",
|
||||
llvm::cl::desc("Warn about readonly properties with writable attributes"));
|
||||
|
||||
static llvm::cl::opt<bool>
|
||||
WarnNoFormatNonLiteral("Wno-format-nonliteral",
|
||||
llvm::cl::desc("Do not warn about non-literal format strings"));
|
||||
|
@ -681,6 +685,10 @@ static void InitializeDiagnostics(Diagnostic &Diags) {
|
|||
if (!WarnFloatEqual)
|
||||
Diags.setDiagnosticMapping(diag::warn_floatingpoint_eq, diag::MAP_IGNORE);
|
||||
|
||||
if (!WarnPropertyReadonlyAttrs)
|
||||
Diags.setDiagnosticMapping(diag::warn_objc_property_attr_mutually_exclusive,
|
||||
diag::MAP_IGNORE);
|
||||
|
||||
// Silence "format string is not a string literal" warnings if requested
|
||||
if (WarnNoFormatNonLiteral)
|
||||
Diags.setDiagnosticMapping(diag::warn_printf_not_string_constant,
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: clang -fsyntax-only -verify %s -fblocks
|
||||
// RUN: clang -fsyntax-only -Wreadonly-setter-attrs -verify %s -fblocks
|
||||
|
||||
// Check property attribute consistency.
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: clang -fsyntax-only -verify %s
|
||||
// RUN: clang -fsyntax-only -Wreadonly-setter-attrs -verify %s
|
||||
|
||||
@protocol P0
|
||||
@property(readonly,assign) id X; // expected-warning {{property attributes 'readonly' and 'assign' are mutually exclusive}}
|
||||
|
|
Загрузка…
Ссылка в новой задаче