// { dg-do assemble } // GROUPS passed old-abort #include void fubar(std::ostream* out, const char* s) { (*out) << s << std::endl; return; } int main() { // Declare a ref and a pointer to the same ostream. // std::ostream* out = &std::cerr; std::ostream& die = std::cerr; // Valid call to fubar. // fubar(out, "First line."); // Invalid call to fubar. (1st arg is an ostream&. fubar expects // ostream*.)This should be a syntax error, but g++ does not catch it. // Call to this function results in a bus error in fubar when the 1st // arg is dereferenced. // fubar(die, "Second line.");// { dg-error "" } cannot convert .die.* return 1; }