
Implement P2893R3 ‘Variadic friends’ for C++26. This closes #98587. Co-authored-by: Younan Zhang <zyn7109@gmail.com>
17 lines
914 B
C++
17 lines
914 B
C++
// RUN: %clang_cc1 -std=c++2c -verify=compat -fsyntax-only -Wpre-c++26-compat %s
|
|
// RUN: %clang_cc1 -std=c++11 -verify=pre2c -fsyntax-only -Wc++26-extensions %s
|
|
|
|
struct S {
|
|
friend int, long, char; // compat-warning {{variadic 'friend' declarations are incompatible with C++ standards before C++2c}} \
|
|
// pre2c-warning {{variadic 'friend' declarations are a C++2c extension}}
|
|
};
|
|
|
|
template <typename ...Types>
|
|
struct TS {
|
|
friend Types...; // compat-warning {{variadic 'friend' declarations are incompatible with C++ standards before C++2c}} \
|
|
// pre2c-warning {{variadic 'friend' declarations are a C++2c extension}}
|
|
|
|
friend int, Types..., Types...; // compat-warning {{variadic 'friend' declarations are incompatible with C++ standards before C++2c}} \
|
|
// pre2c-warning {{variadic 'friend' declarations are a C++2c extension}}
|
|
};
|