xref: /aosp_15_r20/external/clang/test/CXX/temp/temp.param/p5.cpp (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -verify %s -std=c++11
2*67e74705SXin Li 
3*67e74705SXin Li template<const int I> struct S { // expected-note {{instantiation}}
4*67e74705SXin Li   decltype(I) n;
5*67e74705SXin Li   int &&r = I; // expected-warning 2{{binding reference member 'r' to a temporary value}} expected-note 2{{declared here}}
6*67e74705SXin Li };
7*67e74705SXin Li S<5> s;
8*67e74705SXin Li 
9*67e74705SXin Li template<typename T, T v> struct U { // expected-note {{instantiation}}
10*67e74705SXin Li   decltype(v) n;
11*67e74705SXin Li   int &&r = v; // expected-warning {{binding reference member 'r' to a temporary value}} expected-note {{declared here}}
12*67e74705SXin Li };
13*67e74705SXin Li U<const int, 6> u;
14