llvm-project/clang/test/SemaCXX/redundant-out-of-line-static-constexpr-member-def-diag.cpp
Nuri Amari b0697a1cb0 Create diagnostic group for definition deprecation warning
In https://reviews.llvm.org/D126664, a warning is introduced
warning against the deprecated out of line definition of a
static constexpr member in C++17 and later. Prior to this patch,
the only diagnostic group controlling this diagnostic was -Wdeprecated,
which controls many many diagnostics. This patch creates
a diagnostic group specifically for this warning so it can
be controlled in isolation, while also being included with -Wdeprecated.

Differential Revision: https://reviews.llvm.org/D153881
2023-07-16 12:36:26 -04:00

11 lines
488 B
C++

// RUN: %clang_cc1 -std=c++17 -verify %s -Werror -Wdeprecated -Wno-error=deprecated-redundant-constexpr-static-def
namespace {
struct A {
static constexpr int n = 0;
static constexpr int m = 0;
};
constexpr int A::n; // expected-warning{{out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated}}
const int A::m; // expected-warning{{out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated}}
}