view gcc/testsuite/g++.dg/cpp0x/rv3p.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
children
line wrap: on
line source

// I, Howard Hinnant, hereby place this code in the public domain.

// Test overload resolution among reference types

// { dg-do compile { target c++11 } }
// { dg-skip-if "packed attribute missing for struct one/three/five/seven" { "epiphany-*-*" } }

template <bool> struct sa;
template <> struct sa<true> {};

struct one   {long x[1];};
struct two   {long x[2];};
struct three {long x[3];};
struct four  {long x[4];};
struct five  {long x[5];};
struct six   {long x[6];};
struct seven {long x[7];};
struct eight {long x[8];};

struct A
{
    A();
    A(const volatile A&&);
};

               A    source();
const          A  c_source();
      volatile A  v_source(); // { dg-warning "deprecated" "" { target c++2a } }
const volatile A cv_source(); // { dg-warning "deprecated" "" { target c++2a } }

// 3 at a time

one   sink_3_123(               A&);
two   sink_3_123(const          A&);
three sink_3_123(volatile       A&);

int test3_123()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_123(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_123(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_123(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_123(source()))    == 2 * sizeof(long)> t5;
    sa<sizeof(sink_3_123(c_source()))  == 2 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_124(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_124(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_124(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_124(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_124(source()))    == 2 * sizeof(long)> t5;
    sa<sizeof(sink_3_124(c_source()))  == 2 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_125(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_125(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_125(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_125(c_source()))  == 2 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_126(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_126(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_126(source()))    == 6 * sizeof(long)> t5;
    sa<sizeof(sink_3_126(c_source()))  == 6 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_127(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_127(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_127(source()))    == 7 * sizeof(long)> t5;
    sa<sizeof(sink_3_127(c_source()))  == 2 * sizeof(long)> t6;
    sa<sizeof(sink_3_127(v_source()))  == 7 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_128(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_128(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_128(source()))    == 8 * sizeof(long)> t5;
    sa<sizeof(sink_3_128(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_128(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_128(cv_source())) == 8 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_134(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_134(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_134(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_134(cva))         == 4 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_135(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_135(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_135(source()))    == 5 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_136(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_136(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_136(source()))    == 6 * sizeof(long)> t5;
    sa<sizeof(sink_3_136(c_source()))  == 6 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_137(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_137(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_137(source()))    == 7 * sizeof(long)> t5;
    sa<sizeof(sink_3_137(v_source()))  == 7 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_138(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_138(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_138(source()))    == 8 * sizeof(long)> t5;
    sa<sizeof(sink_3_138(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_138(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_138(cv_source())) == 8 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_145(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_145(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_145(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_145(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_145(source()))    == 5 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_146(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_146(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_146(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_146(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_146(source()))    == 6 * sizeof(long)> t5;
    sa<sizeof(sink_3_146(c_source()))  == 6 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_147(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_147(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_147(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_147(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_147(source()))    == 7 * sizeof(long)> t5;
    sa<sizeof(sink_3_147(v_source()))  == 7 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_148(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_148(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_148(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_148(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_148(source()))    == 8 * sizeof(long)> t5;
    sa<sizeof(sink_3_148(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_148(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_148(cv_source())) == 8 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_156(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_156(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_156(c_source()))  == 6 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_157(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_157(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_157(v_source()))  == 7 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_158(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_158(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_158(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_158(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_158(cv_source())) == 8 * sizeof(long)> 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;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_167(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_167(c_source()))  == 6 * sizeof(long)> t6;
    sa<sizeof(sink_3_167(v_source()))  == 7 * sizeof(long)> t7;
    return 0;
}

one   sink_3_168(               A&);
six   sink_3_168(const          A&&);
eight sink_3_168(const volatile A&&);

int test3_168()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_168(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_168(source()))    == 6 * sizeof(long)> t5;
    sa<sizeof(sink_3_168(c_source()))  == 6 * sizeof(long)> t6;
    sa<sizeof(sink_3_168(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_168(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

one   sink_3_178(               A&);
seven sink_3_178(volatile       A&&);
eight sink_3_178(const volatile A&&);

int test3_178()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_178(a))           == 1 * sizeof(long)> t1;
    sa<sizeof(sink_3_178(source()))    == 7 * sizeof(long)> t5;
    sa<sizeof(sink_3_178(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_178(v_source()))  == 7 * sizeof(long)> t7;
    sa<sizeof(sink_3_178(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

two   sink_3_234(const          A&);
three sink_3_234(volatile       A&);
four  sink_3_234(const volatile A&);

int test3_234()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_234(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_234(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_234(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_234(source()))    == 2 * sizeof(long)> t5;
    sa<sizeof(sink_3_234(c_source()))  == 2 * sizeof(long)> t6;
    return 0;
}

two   sink_3_235(const          A&);
three sink_3_235(volatile       A&);
five  sink_3_235(               A&&);

int test3_235()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_235(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_235(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_235(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_235(c_source()))  == 2 * sizeof(long)> t6;
    return 0;
}

two   sink_3_236(const          A&);
three sink_3_236(volatile       A&);
six   sink_3_236(const          A&&);

int test3_236()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_236(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_236(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_236(source()))    == 6 * sizeof(long)> t5;
    sa<sizeof(sink_3_236(c_source()))  == 6 * sizeof(long)> t6;
    return 0;
}

two   sink_3_237(const          A&);
three sink_3_237(volatile       A&);
seven sink_3_237(volatile       A&&);

int test3_237()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_237(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_237(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_237(source()))    == 7 * sizeof(long)> t5;
    sa<sizeof(sink_3_237(c_source()))  == 2 * sizeof(long)> t6;
    sa<sizeof(sink_3_237(v_source()))  == 7 * sizeof(long)> t7;
    return 0;
}

two   sink_3_238(const          A&);
three sink_3_238(volatile       A&);
eight sink_3_238(const volatile A&&);

int test3_238()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_238(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_238(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_238(source()))    == 8 * sizeof(long)> t5;
    sa<sizeof(sink_3_238(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_238(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_238(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

two   sink_3_245(const          A&);
four  sink_3_245(const volatile A&);
five  sink_3_245(               A&&);

int test3_245()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_245(a))           == 2 * sizeof(long)> t1;
    sa<sizeof(sink_3_245(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_245(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_245(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_245(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_245(c_source()))  == 2 * sizeof(long)> t6;
    return 0;
}

two   sink_3_246(const          A&);
four  sink_3_246(const volatile A&);
six   sink_3_246(const          A&&);

int test3_246()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_246(a))           == 2 * sizeof(long)> t1;
    sa<sizeof(sink_3_246(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_246(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_246(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_246(source()))    == 6 * sizeof(long)> t5;
    sa<sizeof(sink_3_246(c_source()))  == 6 * sizeof(long)> t6;
    return 0;
}

two   sink_3_247(const          A&);
four  sink_3_247(const volatile A&);
seven sink_3_247(volatile       A&&);

int test3_247()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_247(a))           == 2 * sizeof(long)> t1;
    sa<sizeof(sink_3_247(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_247(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_247(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_247(source()))    == 7 * sizeof(long)> t5;
    sa<sizeof(sink_3_247(c_source()))  == 2 * sizeof(long)> t6;
    sa<sizeof(sink_3_247(v_source()))  == 7 * sizeof(long)> t7;
    return 0;
}

two   sink_3_248(const          A&);
four  sink_3_248(const volatile A&);
eight sink_3_248(const volatile A&&);

int test3_248()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_248(a))           == 2 * sizeof(long)> t1;
    sa<sizeof(sink_3_248(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_248(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_248(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_248(source()))    == 8 * sizeof(long)> t5;
    sa<sizeof(sink_3_248(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_248(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_248(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

two   sink_3_256(const          A&);
five  sink_3_256(               A&&);
six   sink_3_256(const          A&&);

int test3_256()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_256(a))           == 2 * sizeof(long)> t1;
    sa<sizeof(sink_3_256(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_256(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_256(c_source()))  == 6 * sizeof(long)> t6;
    return 0;
}

two   sink_3_257(const          A&);
five  sink_3_257(               A&&);
seven sink_3_257(volatile       A&&);

int test3_257()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_257(a))           == 2 * sizeof(long)> t1;
    sa<sizeof(sink_3_257(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_257(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_257(c_source()))  == 2 * sizeof(long)> t6;
    sa<sizeof(sink_3_257(v_source()))  == 7 * sizeof(long)> t7;
    return 0;
}

two   sink_3_258(const          A&);
five  sink_3_258(               A&&);
eight sink_3_258(const volatile A&&);

int test3_258()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_258(a))           == 2 * sizeof(long)> t1;
    sa<sizeof(sink_3_258(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_258(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_258(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_258(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_258(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

two   sink_3_267(const          A&);
six   sink_3_267(const          A&&);
seven sink_3_267(volatile       A&&);

int test3_267()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_267(a))           == 2 * sizeof(long)> t1;
    sa<sizeof(sink_3_267(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_267(c_source()))  == 6 * sizeof(long)> t6;
    sa<sizeof(sink_3_267(v_source()))  == 7 * sizeof(long)> t7;
    return 0;
}

two   sink_3_268(const          A&);
six   sink_3_268(const          A&&);
eight sink_3_268(const volatile A&&);

int test3_268()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_268(a))           == 2 * sizeof(long)> t1;
    sa<sizeof(sink_3_268(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_268(source()))    == 6 * sizeof(long)> t5;
    sa<sizeof(sink_3_268(c_source()))  == 6 * sizeof(long)> t6;
    sa<sizeof(sink_3_268(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_268(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

two   sink_3_278(const          A&);
seven sink_3_278(volatile       A&&);
eight sink_3_278(const volatile A&&);

int test3_278()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_278(a))           == 2 * sizeof(long)> t1;
    sa<sizeof(sink_3_278(ca))          == 2 * sizeof(long)> t2;
    sa<sizeof(sink_3_278(source()))    == 7 * sizeof(long)> t5;
    sa<sizeof(sink_3_278(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_278(v_source()))  == 7 * sizeof(long)> t7;
    sa<sizeof(sink_3_278(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

three sink_3_345(volatile       A&);
four  sink_3_345(const volatile A&);
five  sink_3_345(               A&&);

int test3_345()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_345(a))           == 3 * sizeof(long)> t1;
    sa<sizeof(sink_3_345(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_345(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_345(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_345(source()))    == 5 * sizeof(long)> t5;
    return 0;
}

three sink_3_346(volatile       A&);
four  sink_3_346(const volatile A&);
six   sink_3_346(const          A&&);

int test3_346()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_346(a))           == 3 * sizeof(long)> t1;
    sa<sizeof(sink_3_346(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_346(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_346(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_346(source()))    == 6 * sizeof(long)> t5;
    sa<sizeof(sink_3_346(c_source()))  == 6 * sizeof(long)> t6;
    return 0;
}

three sink_3_347(volatile       A&);
four  sink_3_347(const volatile A&);
seven sink_3_347(volatile       A&&);

int test3_347()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_347(a))           == 3 * sizeof(long)> t1;
    sa<sizeof(sink_3_347(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_347(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_347(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_347(source()))    == 7 * sizeof(long)> t5;
    sa<sizeof(sink_3_347(v_source()))  == 7 * sizeof(long)> t7;
    return 0;
}

three sink_3_348(volatile       A&);
four  sink_3_348(const volatile A&);
eight sink_3_348(const volatile A&&);

int test3_348()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_348(a))           == 3 * sizeof(long)> t1;
    sa<sizeof(sink_3_348(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_348(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_348(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_348(source()))    == 8 * sizeof(long)> t5;
    sa<sizeof(sink_3_348(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_348(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_348(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

three sink_3_356(volatile       A&);
five  sink_3_356(               A&&);
six   sink_3_356(const          A&&);

int test3_356()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_356(a))           == 3 * sizeof(long)> t1;
    sa<sizeof(sink_3_356(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_356(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_356(c_source()))  == 6 * sizeof(long)> t6;
    return 0;
}

three sink_3_357(volatile       A&);
five  sink_3_357(               A&&);
seven sink_3_357(volatile       A&&);

int test3_357()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_357(a))           == 3 * sizeof(long)> t1;
    sa<sizeof(sink_3_357(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_357(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_357(v_source()))  == 7 * sizeof(long)> t7;
    return 0;
}

three sink_3_358(volatile       A&);
five  sink_3_358(               A&&);
eight sink_3_358(const volatile A&&);

int test3_358()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_358(a))           == 3 * sizeof(long)> t1;
    sa<sizeof(sink_3_358(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_358(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_358(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_358(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_358(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

three sink_3_367(volatile       A&);
six   sink_3_367(const          A&&);
seven sink_3_367(volatile       A&&);

int test3_367()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_367(a))           == 3 * sizeof(long)> t1;
    sa<sizeof(sink_3_367(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_367(c_source()))  == 6 * sizeof(long)> t6;
    sa<sizeof(sink_3_367(v_source()))  == 7 * sizeof(long)> t7;
    return 0;
}

three sink_3_368(volatile       A&);
six   sink_3_368(const          A&&);
eight sink_3_368(const volatile A&&);

int test3_368()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_368(a))           == 3 * sizeof(long)> t1;
    sa<sizeof(sink_3_368(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_368(source()))    == 6 * sizeof(long)> t5;
    sa<sizeof(sink_3_368(c_source()))  == 6 * sizeof(long)> t6;
    sa<sizeof(sink_3_368(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_368(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

three sink_3_378(volatile       A&);
seven sink_3_378(volatile       A&&);
eight sink_3_378(const volatile A&&);

int test3_378()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_378(a))           == 3 * sizeof(long)> t1;
    sa<sizeof(sink_3_378(va))          == 3 * sizeof(long)> t3;
    sa<sizeof(sink_3_378(source()))    == 7 * sizeof(long)> t5;
    sa<sizeof(sink_3_378(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_378(v_source()))  == 7 * sizeof(long)> t7;
    sa<sizeof(sink_3_378(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

four  sink_3_456(const volatile A&);
five  sink_3_456(               A&&);
six   sink_3_456(const          A&&);

int test3_456()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_456(a))           == 4 * sizeof(long)> t1;
    sa<sizeof(sink_3_456(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_456(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_456(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_456(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_456(c_source()))  == 6 * sizeof(long)> t6;
    return 0;
}

four  sink_3_457(const volatile A&);
five  sink_3_457(               A&&);
seven sink_3_457(volatile       A&&);

int test3_457()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_457(a))           == 4 * sizeof(long)> t1;
    sa<sizeof(sink_3_457(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_457(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_457(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_457(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_457(v_source()))  == 7 * sizeof(long)> t7;
    return 0;
}

four  sink_3_458(const volatile A&);
five  sink_3_458(               A&&);
eight sink_3_458(const volatile A&&);

int test3_458()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_458(a))           == 4 * sizeof(long)> t1;
    sa<sizeof(sink_3_458(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_458(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_458(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_458(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_458(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_458(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_458(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

four  sink_3_467(const volatile A&);
six   sink_3_467(const          A&&);
seven sink_3_467(volatile       A&&);

int test3_467()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_467(a))           == 4 * sizeof(long)> t1;
    sa<sizeof(sink_3_467(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_467(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_467(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_467(c_source()))  == 6 * sizeof(long)> t6;
    sa<sizeof(sink_3_467(v_source()))  == 7 * sizeof(long)> t7;
    return 0;
}

four  sink_3_468(const volatile A&);
six   sink_3_468(const          A&&);
eight sink_3_468(const volatile A&&);

int test3_468()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_468(a))           == 4 * sizeof(long)> t1;
    sa<sizeof(sink_3_468(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_468(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_468(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_468(source()))    == 6 * sizeof(long)> t5;
    sa<sizeof(sink_3_468(c_source()))  == 6 * sizeof(long)> t6;
    sa<sizeof(sink_3_468(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_468(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

four  sink_3_478(const volatile A&);
seven sink_3_478(volatile       A&&);
eight sink_3_478(const volatile A&&);

int test3_478()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_478(a))           == 4 * sizeof(long)> t1;
    sa<sizeof(sink_3_478(ca))          == 4 * sizeof(long)> t2;
    sa<sizeof(sink_3_478(va))          == 4 * sizeof(long)> t3;
    sa<sizeof(sink_3_478(cva))         == 4 * sizeof(long)> t4;
    sa<sizeof(sink_3_478(source()))    == 7 * sizeof(long)> t5;
    sa<sizeof(sink_3_478(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_478(v_source()))  == 7 * sizeof(long)> t7;
    sa<sizeof(sink_3_478(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

five  sink_3_567(               A&&);
six   sink_3_567(const          A&&);
seven sink_3_567(volatile       A&&);

int test3_567()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_567(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_567(c_source()))  == 6 * sizeof(long)> t6;
    sa<sizeof(sink_3_567(v_source()))  == 7 * sizeof(long)> t7;
    return 0;
}

five  sink_3_568(               A&&);
six   sink_3_568(const          A&&);
eight sink_3_568(const volatile A&&);

int test3_568()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_568(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_568(c_source()))  == 6 * sizeof(long)> t6;
    sa<sizeof(sink_3_568(v_source()))  == 8 * sizeof(long)> t7;
    sa<sizeof(sink_3_568(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

five  sink_3_578(               A&&);
seven sink_3_578(volatile       A&&);
eight sink_3_578(const volatile A&&);

int test3_578()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_578(source()))    == 5 * sizeof(long)> t5;
    sa<sizeof(sink_3_578(c_source()))  == 8 * sizeof(long)> t6;
    sa<sizeof(sink_3_578(v_source()))  == 7 * sizeof(long)> t7;
    sa<sizeof(sink_3_578(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

six   sink_3_678(const          A&&);
seven sink_3_678(volatile       A&&);
eight sink_3_678(const volatile A&&);

int test3_678()
{
                   A a;
    const          A ca;
          volatile A va;
    const volatile A cva;
    sa<sizeof(sink_3_678(c_source()))  == 6 * sizeof(long)> t6;
    sa<sizeof(sink_3_678(v_source()))  == 7 * sizeof(long)> t7;
    sa<sizeof(sink_3_678(cv_source())) == 8 * sizeof(long)> t8;
    return 0;
}

int main()
{
    return test3_123() + test3_124() + test3_125() + test3_126() +
           test3_127() + test3_128() + test3_134() + test3_135() +
           test3_136() + test3_137() + test3_138() + test3_145() +
           test3_146() + test3_147() + test3_148() + test3_156() +
           test3_157() + test3_158() + test3_167() + test3_168() +
           test3_178() + test3_234() + test3_235() + test3_236() +
           test3_237() + test3_238() + test3_245() + test3_246() +
           test3_247() + test3_248() + test3_256() + test3_257() +
           test3_258() + test3_267() + test3_268() + test3_278() +
           test3_345() + test3_346() + test3_347() + test3_348() +
           test3_356() + test3_357() + test3_358() + test3_367() +
           test3_368() + test3_378() + test3_456() + test3_457() +
           test3_458() + test3_467() + test3_468() + test3_478() +
           test3_567() + test3_568() + test3_578() + test3_678();
}