8sa1-gcc/gcc/testsuite/g++.old-deja/g++.other/inline14.C
Theodore Papadopoulo dcbd43e030 crash20.C: Make ready for libstdc++-v3.
2000-09-25 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>

	* g++.old-deja/g++.other/crash20.C: Make ready for libstdc++-v3.
	* g++.old-deja/g++.pt/ttp62.C: Same.
	* g++.old-deja/g++.other/inline14.C: Same.

From-SVN: r36633
2000-09-25 22:06:30 +00:00

50 lines
736 B
C

// Build don't link:
// Origin: Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
#include <iostream>
struct IDENT
{
enum TYPE { Variable, Constant } type;
std::ostream& printTo(std::ostream& out) const
{
switch (type)
{
case Variable:
out << '_';
break;
default:
break;
}
return out;
}
};
template <class T>
struct TC
{
IDENT i;
const IDENT& getIdent() const
{
return i;
}
};
template <class T>
inline std::ostream& operator<< (std::ostream& out, const TC<T> &c)
{
c.getIdent().printTo(out);
return out;
}
void foo(const TC<IDENT> &c)
{
std::cerr << c
<< ": " // This line is crucial!
<< c
<< std::endl;
}