int test4_2356()
{
                   A a;
    const          A ca = a;
          volatile A va;
    const volatile A cva = a;
    sink_4_2356(a);            // { dg-error "ambiguous" }
    sink_4_2356(cva);          // { dg-error "no match" }
    sink_4_2356(v_source());   // { dg-error "no match" }
    sink_4_2356(cv_source());  // { dg-error "no match" }
    return 0;
}
int test4_2356()
{
                   A a;
    const          A ca = a; // { dg-error "lvalue" }
          volatile A va;
    const volatile A cva = a; // { dg-error "lvalue" }
    sink_4_2356(a);            // { dg-error "ambiguous" }
    // { dg-message "candidate" "candidate note" { target *-*-* } 666 }
    sink_4_2356(cva);          // { dg-error "no match" }
    // { dg-message "candidate" "candidate note" { target *-*-* } 668 }
    sink_4_2356(v_source());   // { dg-error "no match" }
    // { dg-message "candidate" "candidate note" { target *-*-* } 670 }
    sink_4_2356(cv_source());  // { dg-error "no match" }
    // { dg-message "candidate" "candidate note" { target *-*-* } 672 }
    return 0;
}