URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.old-deja/] [g++.benjamin/] [tem06.C] - Rev 708
Go to most recent revision | Compare with Previous | Blame | View Log
// { dg-do run }
// 980945 bkoz
// test for correct operators at link time
/*
/tmp/cca211431.o: In function `void blah<foo<int> >(foo<int> const &)':
/tmp/cca211431.o(.void gnu.linkonce.t.blah<foo<int> >(foo<int> const &)+0x1e): undefined reference to `void x<int>(int const &)'
*/
template<class T>
class foo {
public:
foo () {}
friend void x (const T &) { }
};
void x(const int &);
template<class T>
void blah (const T &) {
T y;
x (4);
}
int main () {
const foo<int> v;
blah (v);
}
/*
fno-exceptions -fno-rtti
1.98r1.o:
00000000 W __t3foo1Zi
00000000 W blah__H1Zt3foo1Zi_RCX01_v
00000000 t gcc2_compiled.
00000000 T main
U x__H1Zi_RCX01_v
1.egcs.o:
00000000 W __t3foo1Zi
00000000 W blah__H1Zt3foo1Zi_RCX01_v
00000000 t gcc2_compiled.
00000000 T main
00000000 W x__FRCi
the reason this goes away at -O is because the U or W function is
elided completely.
*/
Go to most recent revision | Compare with Previous | Blame | View Log