diff options
| author | oliva <oliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-07-01 16:08:07 +0000 |
|---|---|---|
| committer | oliva <oliva@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-07-01 16:08:07 +0000 |
| commit | e49cde09e1edae164a3a428856bd87619bc7f23f (patch) | |
| tree | c95f84c020f10cee3c8dc15e0da9ffa0c7780ee0 | |
| parent | aaf625abfd3aeb8212e4f807ea202db005a094ce (diff) | |
| download | ppe42-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/ChangeLog | 2 | ||||
| -rw-r--r-- | gcc/testsuite/g++.old-deja/g++.oliva/partord1.C | 28 |
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 +} |

