// { dg-do assemble } // { dg-options "-Wreturn-type" } // GROUPS passed old-abort #include class A { public: friend A f(A &a);// { dg-message "old declaration" } }; A &f(A &a) {// { dg-error "new declaration" } std::cout << "Blah\n"; } // { dg-warning "no return statement" }