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()9ret_v_f_class() 10 { 11 f_class t; 12 return t; 13 } 14 main(void)15int 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