summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroliva <oliva@138bc75d-0d04-0410-961f-82ee72b054a4>1999-07-01 16:08:07 +0000
committeroliva <oliva@138bc75d-0d04-0410-961f-82ee72b054a4>1999-07-01 16:08:07 +0000
commite49cde09e1edae164a3a428856bd87619bc7f23f (patch)
treec95f84c020f10cee3c8dc15e0da9ffa0c7780ee0
parentaaf625abfd3aeb8212e4f807ea202db005a094ce (diff)
downloadppe42-gcc-e49cde09e1edae164a3a428856bd87619bc7f23f.tar.gz
ppe42-gcc-e49cde09e1edae164a3a428856bd87619bc7f23f.zip
* partord1.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@27887 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.oliva/partord1.C28
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
index f8076c1d762..6c455078c5f 100644
--- a/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog
@@ -1,4 +1,6 @@
1999-07-01 Alexandre Oliva <oliva@dcc.unicamp.br>
+ * partord1.C: New test.
+
* template1.C: New test.
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/partord1.C b/gcc/testsuite/g++.old-deja/g++.oliva/partord1.C
new file mode 100644
index 00000000000..7ed017ac276
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/partord1.C
@@ -0,0 +1,28 @@
+// Build don't link:
+
+// Copyright (C) 1999 Free Software Foundation
+
+// by Alexandre Oliva <oliva@dcc.unicamp.br>
+
+template <typename T> void foo(T);
+template <typename T> void foo(T*);
+
+template <typename T> class bar {
+ private:
+ int i; // ERROR - this variable
+ friend void foo<T>(T);
+};
+
+template <typename T> void foo(T) {
+ bar<T>().i = 0; // ok, I'm a friend
+}
+template <typename T> void foo(T*) {
+ bar<T*>().i = 1; // ERROR - not a friend
+}
+
+int main() {
+ int j = 0;
+ foo(j); // calls foo<int>(int), ok
+ foo(&j); // calls foo<int>(int*) // ERROR - not a friend
+ foo<int*>(&j); // calls foo<int*>(int*), ok
+}
OpenPOWER on IntegriCloud