Add warning group -Wdeprecated-register for C++11 warning on 'register' being
deprecated. llvm-svn: 184068
This commit is contained in:
parent
b735b4d6db
commit
37ba45a3c5
|
@ -57,11 +57,14 @@ def DeleteNonVirtualDtor : DiagGroup<"delete-non-virtual-dtor">;
|
|||
def AbstractFinalClass : DiagGroup<"abstract-final-class">;
|
||||
|
||||
def DeprecatedDeclarations : DiagGroup<"deprecated-declarations">;
|
||||
def DeprecatedWritableStr : DiagGroup<"deprecated-writable-strings">;
|
||||
def Deprecated : DiagGroup<"deprecated", [ DeprecatedDeclarations] >,
|
||||
DiagCategory<"Deprecations">;
|
||||
|
||||
def DeprecatedImplementations :DiagGroup<"deprecated-implementations">;
|
||||
def DeprecatedRegister : DiagGroup<"deprecated-register">;
|
||||
def DeprecatedWritableStr : DiagGroup<"deprecated-writable-strings">;
|
||||
// FIXME: Why are DeprecatedImplementations and DeprecatedWritableStr
|
||||
// not in this group?
|
||||
def Deprecated : DiagGroup<"deprecated", [DeprecatedDeclarations,
|
||||
DeprecatedRegister]>,
|
||||
DiagCategory<"Deprecations">;
|
||||
|
||||
def : DiagGroup<"disabled-optimization">;
|
||||
def : DiagGroup<"discard-qual">;
|
||||
|
|
|
@ -310,7 +310,8 @@ def err_expected_class_name_not_template :
|
|||
def err_unspecified_vla_size_with_static : Error<
|
||||
"'static' may not be used with an unspecified variable length array size">;
|
||||
def warn_deprecated_register : Warning<
|
||||
"'register' storage class specifier is deprecated">, InGroup<Deprecated>;
|
||||
"'register' storage class specifier is deprecated">,
|
||||
InGroup<DeprecatedRegister>;
|
||||
|
||||
def err_expected_case_before_expression: Error<
|
||||
"expected 'case' keyword before expression">;
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
// RUN: %clang_cc1 -std=c++11 %s -Wdeprecated -verify
|
||||
// RUN: %clang_cc1 -std=c++1y %s -Wdeprecated -verify
|
||||
|
||||
// RUN: %clang_cc1 -std=c++1y %s -Wdeprecated -verify -Wno-deprecated-register -DNO_DEPRECATED_FLAGS
|
||||
|
||||
#include "Inputs/register.h"
|
||||
|
||||
void f() throw();
|
||||
|
@ -15,7 +17,7 @@ void h() throw(...);
|
|||
|
||||
void stuff() {
|
||||
register int n;
|
||||
#if __cplusplus >= 201103L
|
||||
#if __cplusplus >= 201103L && !defined(NO_DEPRECATED_FLAGS)
|
||||
// expected-warning@-2 {{'register' storage class specifier is deprecated}}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue