Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.old-deja/g++.robertl/eb44.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// { dg-do assemble } // spurious 'const' in error. // For egcs-2.91.34, the warning message refers to // class ostream & operator <<(class ostream &, const class Vector<T> &) // Also, the template instantiation does not provide the missing // friend function, the non-template function does #include <cstdio> #include <cstdlib> #include <iostream> using namespace std; template <class T> class Vector { friend ostream& operator<< (ostream& out, const Vector<T> & vec); // { dg-warning "non-template" "warn" } // { dg-message "note" "note" { target *-*-* } .-1 } }; template <class T> ostream& operator<< (ostream& out, const Vector<T> & vec) { abort(); // this should not be called } template class Vector<char>; template ostream& operator<< (ostream& out, const Vector<char> &); ostream& operator<< (ostream& out, const Vector<char>&) { return out; } int main() { Vector<char> vc; cout << vc; }