1 // { dg-do assemble  }
2 // Test that failed lvalue-to-rvalue conversion of vf doesn't crash the
3 // compiler.
4 
5 class f_class		       // { dg-message "note" "candidates" }
6 { };
7 
8 volatile f_class
ret_v_f_class()9 ret_v_f_class()
10 {
11   f_class t;
12   return t;
13 }
14 
main(void)15 int main(void)
16 {
17   volatile f_class vf;
18   0 ? ret_v_f_class() : vf;	// { dg-error "match" } can't copy volatile lvalue
19   // { dg-message "candidate" "candidate note" { target *-*-* } 18 }
20   return 0;
21 }
22