From 5f04b627077460e517e89f82b21b89956d0a9ce9 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Thu, 1 Jul 1999 16:08:07 +0000 Subject: [PATCH] * partord1.C: New test. From-SVN: r27887 --- gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog | 2 ++ gcc/testsuite/g++.old-deja/g++.oliva/partord1.C | 28 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 gcc/testsuite/g++.old-deja/g++.oliva/partord1.C diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog b/gcc/testsuite/g++.old-deja/g++.oliva/ChangeLog index f8076c1..6c45507 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 + * 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 0000000..7ed017a --- /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 + +template void foo(T); +template void foo(T*); + +template class bar { + private: + int i; // ERROR - this variable + friend void foo(T); +}; + +template void foo(T) { + bar().i = 0; // ok, I'm a friend +} +template void foo(T*) { + bar().i = 1; // ERROR - not a friend +} + +int main() { + int j = 0; + foo(j); // calls foo(int), ok + foo(&j); // calls foo(int*) // ERROR - not a friend + foo(&j); // calls foo(int*), ok +} -- 2.7.4