17 lines · cpp
1// RUN: %clang_cc1 -std=c++2c -verify=compat -fsyntax-only -Wpre-c++26-compat %s2// RUN: %clang_cc1 -std=c++11 -verify=pre2c -fsyntax-only -Wc++26-extensions %s3 4struct S {5 friend int, long, char; // compat-warning {{variadic 'friend' declarations are incompatible with C++ standards before C++2c}} \6 // pre2c-warning {{variadic 'friend' declarations are a C++2c extension}}7};8 9template <typename ...Types>10struct TS {11 friend Types...; // compat-warning {{variadic 'friend' declarations are incompatible with C++ standards before C++2c}} \12 // pre2c-warning {{variadic 'friend' declarations are a C++2c extension}}13 14 friend int, Types..., Types...; // compat-warning {{variadic 'friend' declarations are incompatible with C++ standards before C++2c}} \15 // pre2c-warning {{variadic 'friend' declarations are a C++2c extension}}16};17