From 8b424a9b4921737c00709feaff9a617143f9e44c Mon Sep 17 00:00:00 2001 From: Benjamin Kosnik Date: Tue, 29 Sep 1998 16:13:14 +0000 Subject: [PATCH] *** empty log message *** From-SVN: r22641 --- .../g++.old-deja/g++.benjamin/tem06.C | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C b/gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C new file mode 100644 index 00000000000..9fcd6301caa --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C @@ -0,0 +1,49 @@ +// 980945 bkoz +// test for correct operators at link time + +/* +/tmp/cca211431.o: In function `void blah >(foo const &)': +/tmp/cca211431.o(.void gnu.linkonce.t.blah >(foo const &)+0x1e): undefined reference to `void x(int const &)' +*/ + +template +class foo { +public: + foo () {} + friend void x (const T &) { } +}; + +template +void blah (const T &) { + T y; + x (4); +}; + +main () { + const foo 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. + +*/ +