diff options
author | Alexandre Oliva <oliva@dcc.unicamp.br> | 1998-10-04 15:31:58 +0000 |
---|---|---|
committer | Alexandre Oliva <oliva@gcc.gnu.org> | 1998-10-04 15:31:58 +0000 |
commit | 00f14949396a96735e8a4dd5ee98e7f880b2352d (patch) | |
tree | 88aee0e2ce1bf8cc20eca1834ee7ac40a48f805b | |
parent | a1b8d8ffaebf75f8d9946838874202344c1ca858 (diff) | |
download | gcc-00f14949396a96735e8a4dd5ee98e7f880b2352d.zip gcc-00f14949396a96735e8a4dd5ee98e7f880b2352d.tar.gz gcc-00f14949396a96735e8a4dd5ee98e7f880b2352d.tar.bz2 |
overload5.C: New test...
* g++.old-deja/g++.pt/overload5.C: New test; initialize variable
with pointer to template function, for which no argument deduction
is possible
* g++.old-deja/g++.pt/overload4.C: New test; passing pointer to
specialization of template function as argument to template
function
* g++.old-deja/g++.other/access2.C: New test; Inner class
shouldn't have privileged access to Outer's names
From-SVN: r22818
-rw-r--r-- | gcc/testsuite/ChangeLog | 13 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/access2.C | 12 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/overload4.C | 12 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/overload5.C | 6 |
4 files changed, 43 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index eea6d0c..b41d7ff 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,16 @@ +1998-10-04 Alexandre Oliva <oliva@dcc.unicamp.br> + + * g++.old-deja/g++.pt/overload5.C: New test; initialize variable + with pointer to template function, for which no argument deduction + is possible + + * g++.old-deja/g++.pt/overload4.C: New test; passing pointer to + specialization of template function as argument to template + function + + * g++.old-deja/g++.other/access2.C: New test; Inner class + shouldn't have privileged access to Outer's names + 1998-10-03 Alexandre Oliva <oliva@dcc.unicamp.br> * g++.old-deja/g++.pt/friend34.C: New test; name injection of diff --git a/gcc/testsuite/g++.old-deja/g++.other/access2.C b/gcc/testsuite/g++.old-deja/g++.other/access2.C new file mode 100644 index 0000000..b981f2f --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/access2.C @@ -0,0 +1,12 @@ +// Build don't link: +// Based on a test-case in the Standard, submitted by several people + +class Outer { + typedef int T; + class Inner { + T i; // ERROR - not accessible - XFAIL *-*-* + void f() { + T j; // ERROR - not accessible - XFAIL *-*-* + } + }; +}; diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload4.C b/gcc/testsuite/g++.old-deja/g++.pt/overload4.C new file mode 100644 index 0000000..78e271b --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/overload4.C @@ -0,0 +1,12 @@ +// Build don't link: + +template <class T> void foo(T); + +template <class T> void bar(void (*)(T), T); + +void baz() { + bar<int>(foo, 1); + bar(foo<int>, 1); // explicit args for foo don't help - XFAIL *-*-* + bar<int>(foo<int>, 1); // not even here - XFAIL *-*-* + bar(foo, 1); // ICE - XFAIL *-*-* +} diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload5.C b/gcc/testsuite/g++.old-deja/g++.pt/overload5.C new file mode 100644 index 0000000..f705c24 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/overload5.C @@ -0,0 +1,6 @@ +// Build don't link: + +template <class T> void foo(); + +void (*bar)() = foo<void>; +void (*baz)() = foo; // ERROR - can't deduce T - XFAIL *-*-* |