*** empty log message ***
authorBenjamin Kosnik <bkoz@gcc.gnu.org>
Tue, 29 Sep 1998 16:13:14 +0000 (16:13 +0000)
committerBenjamin Kosnik <bkoz@gcc.gnu.org>
Tue, 29 Sep 1998 16:13:14 +0000 (16:13 +0000)
From-SVN: r22641

gcc/testsuite/g++.old-deja/g++.benjamin/tem06.C [new file with mode: 0644]

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 (file)
index 0000000..9fcd630
--- /dev/null
@@ -0,0 +1,49 @@
+// 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 &) { }
+};
+
+template<class T>
+void blah (const T &) {
+  T y;
+  x (4);
+};
+
+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.  
+
+*/
+