📄 rv3p.c
字号:
// I, Howard Hinnant, hereby place this code in the public domain.// Test overlaod resolution among referece types// { dg-do compile }// { dg-options "-std=c++0x" }template <bool> struct sa;template <> struct sa<true> {};struct one {char x[1];};struct two {char x[2];};struct three {char x[3];};struct four {char x[4];};struct five {char x[5];};struct six {char x[6];};struct seven {char x[7];};struct eight {char x[8];};struct A{ A(); A(const volatile A&&);}; A source();const A c_source(); volatile A v_source();const volatile A cv_source();// 3 at a timeone sink_3_123( A&);two sink_3_123(const A&);three sink_3_123(volatile A&);int test3_123(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_123(a)) == 1> t1; sa<sizeof(sink_3_123(ca)) == 2> t2; sa<sizeof(sink_3_123(va)) == 3> t3; sa<sizeof(sink_3_123(source())) == 2> t5; sa<sizeof(sink_3_123(c_source())) == 2> t6; return 0;}one sink_3_124( A&);two sink_3_124(const A&);four sink_3_124(const volatile A&);int test3_124(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_124(a)) == 1> t1; sa<sizeof(sink_3_124(ca)) == 2> t2; sa<sizeof(sink_3_124(va)) == 4> t3; sa<sizeof(sink_3_124(cva)) == 4> t4; sa<sizeof(sink_3_124(source())) == 2> t5; sa<sizeof(sink_3_124(c_source())) == 2> t6; return 0;}one sink_3_125( A&);two sink_3_125(const A&);five sink_3_125( A&&);int test3_125(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_125(a)) == 1> t1; sa<sizeof(sink_3_125(ca)) == 2> t2; sa<sizeof(sink_3_125(source())) == 5> t5; sa<sizeof(sink_3_125(c_source())) == 2> t6; return 0;}one sink_3_126( A&);two sink_3_126(const A&);six sink_3_126(const A&&);int test3_126(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_126(a)) == 1> t1; sa<sizeof(sink_3_126(ca)) == 2> t2; sa<sizeof(sink_3_126(source())) == 6> t5; sa<sizeof(sink_3_126(c_source())) == 6> t6; return 0;}one sink_3_127( A&);two sink_3_127(const A&);seven sink_3_127(volatile A&&);int test3_127(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_127(a)) == 1> t1; sa<sizeof(sink_3_127(ca)) == 2> t2; sa<sizeof(sink_3_127(va)) == 7> t3; sa<sizeof(sink_3_127(source())) == 7> t5; sa<sizeof(sink_3_127(c_source())) == 2> t6; sa<sizeof(sink_3_127(v_source())) == 7> t7; return 0;}one sink_3_128( A&);two sink_3_128(const A&);eight sink_3_128(const volatile A&&);int test3_128(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_128(a)) == 1> t1; sa<sizeof(sink_3_128(ca)) == 2> t2; sa<sizeof(sink_3_128(va)) == 8> t3; sa<sizeof(sink_3_128(cva)) == 8> t4; sa<sizeof(sink_3_128(source())) == 8> t5; sa<sizeof(sink_3_128(c_source())) == 8> t6; sa<sizeof(sink_3_128(v_source())) == 8> t7; sa<sizeof(sink_3_128(cv_source())) == 8> t8; return 0;}one sink_3_134( A&);three sink_3_134(volatile A&);four sink_3_134(const volatile A&);int test3_134(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_134(a)) == 1> t1; sa<sizeof(sink_3_134(ca)) == 4> t2; sa<sizeof(sink_3_134(va)) == 3> t3; sa<sizeof(sink_3_134(cva)) == 4> t4; return 0;}one sink_3_135( A&);three sink_3_135(volatile A&);five sink_3_135( A&&);int test3_135(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_135(a)) == 1> t1; sa<sizeof(sink_3_135(va)) == 3> t3; sa<sizeof(sink_3_135(source())) == 5> t5; return 0;}one sink_3_136( A&);three sink_3_136(volatile A&);six sink_3_136(const A&&);int test3_136(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_136(a)) == 1> t1; sa<sizeof(sink_3_136(ca)) == 6> t2; sa<sizeof(sink_3_136(va)) == 3> t3; sa<sizeof(sink_3_136(source())) == 6> t5; sa<sizeof(sink_3_136(c_source())) == 6> t6; return 0;}one sink_3_137( A&);three sink_3_137(volatile A&);seven sink_3_137(volatile A&&);int test3_137(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_137(a)) == 1> t1; sa<sizeof(sink_3_137(va)) == 3> t3; sa<sizeof(sink_3_137(source())) == 7> t5; sa<sizeof(sink_3_137(v_source())) == 7> t7; return 0;}one sink_3_138( A&);three sink_3_138(volatile A&);eight sink_3_138(const volatile A&&);int test3_138(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_138(a)) == 1> t1; sa<sizeof(sink_3_138(ca)) == 8> t2; sa<sizeof(sink_3_138(va)) == 3> t3; sa<sizeof(sink_3_138(cva)) == 8> t4; sa<sizeof(sink_3_138(source())) == 8> t5; sa<sizeof(sink_3_138(c_source())) == 8> t6; sa<sizeof(sink_3_138(v_source())) == 8> t7; sa<sizeof(sink_3_138(cv_source())) == 8> t8; return 0;}one sink_3_145( A&);four sink_3_145(const volatile A&);five sink_3_145( A&&);int test3_145(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_145(a)) == 1> t1; sa<sizeof(sink_3_145(ca)) == 4> t2; sa<sizeof(sink_3_145(va)) == 4> t3; sa<sizeof(sink_3_145(cva)) == 4> t4; sa<sizeof(sink_3_145(source())) == 5> t5; return 0;}one sink_3_146( A&);four sink_3_146(const volatile A&);six sink_3_146(const A&&);int test3_146(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_146(a)) == 1> t1; sa<sizeof(sink_3_146(ca)) == 4> t2; sa<sizeof(sink_3_146(va)) == 4> t3; sa<sizeof(sink_3_146(cva)) == 4> t4; sa<sizeof(sink_3_146(source())) == 6> t5; sa<sizeof(sink_3_146(c_source())) == 6> t6; return 0;}one sink_3_147( A&);four sink_3_147(const volatile A&);seven sink_3_147(volatile A&&);int test3_147(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_147(a)) == 1> t1; sa<sizeof(sink_3_147(ca)) == 4> t2; sa<sizeof(sink_3_147(va)) == 4> t3; sa<sizeof(sink_3_147(cva)) == 4> t4; sa<sizeof(sink_3_147(source())) == 7> t5; sa<sizeof(sink_3_147(v_source())) == 7> t7; return 0;}one sink_3_148( A&);four sink_3_148(const volatile A&);eight sink_3_148(const volatile A&&);int test3_148(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_148(a)) == 1> t1; sa<sizeof(sink_3_148(ca)) == 4> t2; sa<sizeof(sink_3_148(va)) == 4> t3; sa<sizeof(sink_3_148(cva)) == 4> t4; sa<sizeof(sink_3_148(source())) == 8> t5; sa<sizeof(sink_3_148(c_source())) == 8> t6; sa<sizeof(sink_3_148(v_source())) == 8> t7; sa<sizeof(sink_3_148(cv_source())) == 8> t8; return 0;}one sink_3_156( A&);five sink_3_156( A&&);six sink_3_156(const A&&);int test3_156(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_156(a)) == 1> t1; sa<sizeof(sink_3_156(ca)) == 6> t2; sa<sizeof(sink_3_156(source())) == 5> t5; sa<sizeof(sink_3_156(c_source())) == 6> t6; return 0;}one sink_3_157( A&);five sink_3_157( A&&);seven sink_3_157(volatile A&&);int test3_157(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_157(a)) == 1> t1; sa<sizeof(sink_3_157(va)) == 7> t3; sa<sizeof(sink_3_157(source())) == 5> t5; sa<sizeof(sink_3_157(v_source())) == 7> t7; return 0;}one sink_3_158( A&);five sink_3_158( A&&);eight sink_3_158(const volatile A&&);int test3_158(){ A a; const A ca = a; volatile A va; const volatile A cva = a; sa<sizeof(sink_3_158(a)) == 1> t1; sa<sizeof(sink_3_158(ca)) == 8> t2; sa<sizeof(sink_3_158(va)) == 8> t3; sa<sizeof(sink_3_158(cva)) == 8> t4; sa<sizeof(sink_3_158(source())) == 5> t5; sa<sizeof(sink_3_158(c_source())) == 8> t6; sa<sizeof(sink_3_158(v_source())) == 8> t7; sa<sizeof(sink_3_158(cv_source())) == 8> t8; return 0;}one sink_3_167( A&);six sink_3_167(const A&&);seven sink_3_167(volatile A&&);int test3_167(){ A a; const A ca = a; volatile A va; const volatile A cva = a;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -