diff options
author | Jason Merrill <jason@gcc.gnu.org> | 1998-07-19 20:29:35 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1998-07-19 20:29:35 -0400 |
commit | 160387c4a73bf5df158c605367ef44a69309fc55 (patch) | |
tree | 0fb298afbb40e29495e2a9bd695cfbaa96a9f81b /gcc | |
parent | 6288717fb39fab96c4f18bbd5a3ec01cecf92542 (diff) | |
download | gcc-160387c4a73bf5df158c605367ef44a69309fc55.zip gcc-160387c4a73bf5df158c605367ef44a69309fc55.tar.gz gcc-160387c4a73bf5df158c605367ef44a69309fc55.tar.bz2 |
new
From-SVN: r21300
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.ext/implicit1.C | 14 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.ns/koenig7.C | 22 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.ns/lookup5.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.ns/template5.C | 33 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/lookup1.C | 9 |
5 files changed, 79 insertions, 1 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/implicit1.C b/gcc/testsuite/g++.old-deja/g++.ext/implicit1.C new file mode 100644 index 0000000..399d232 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.ext/implicit1.C @@ -0,0 +1,14 @@ +// test for implicit declaration +// Special g++ Options: -w + +int +main () +{ + return blarg (); +} + +extern "C" int +blarg (...) +{ + return 0; +} diff --git a/gcc/testsuite/g++.old-deja/g++.ns/koenig7.C b/gcc/testsuite/g++.old-deja/g++.ns/koenig7.C new file mode 100644 index 0000000..2565a9e --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.ns/koenig7.C @@ -0,0 +1,22 @@ +// Test for Koenig lookup involving overloaded functions. + +namespace N1 { + struct A { }; + void f1(A) {} + void f2(float) {} + void g(void (*)(float)) {} +} + +using N1::f1; +void f1(float) {} + +using N1::f2; +template <class T> +void f2(N1::A, T) {} + +void g(void (*)(int)) {} + +int main() { + g(&f1); // Works? + g(f2); // Works? +} diff --git a/gcc/testsuite/g++.old-deja/g++.ns/lookup5.C b/gcc/testsuite/g++.old-deja/g++.ns/lookup5.C index cddf828..c83b50a 100644 --- a/gcc/testsuite/g++.old-deja/g++.ns/lookup5.C +++ b/gcc/testsuite/g++.old-deja/g++.ns/lookup5.C @@ -5,7 +5,7 @@ namespace A{ namespace B{ using namespace A; - void f(int); + void f(int); // ERROR - referenced below } using namespace B; diff --git a/gcc/testsuite/g++.old-deja/g++.ns/template5.C b/gcc/testsuite/g++.old-deja/g++.ns/template5.C new file mode 100644 index 0000000..9dc7a396 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.ns/template5.C @@ -0,0 +1,33 @@ +//Check whether namespace-scoped template instantiations +//are mangled differently. + +namespace X{ + template<class T> + struct Y{ + int f(T){ + return 1; + } + template<class X>void g(){} + }; +} + +template<class T> +struct Y{ + int f(T){ + return 2; + } +}; + +int main() +{ + X::Y<int> z; + if (z.f(4) != 1) + return 1; + z.template g<long>(); + + Y<int> z1; + if (z1.f(5) != 2) + return 1; + return 0; +} + diff --git a/gcc/testsuite/g++.old-deja/g++.other/lookup1.C b/gcc/testsuite/g++.old-deja/g++.other/lookup1.C new file mode 100644 index 0000000..f3ea5eb --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/lookup1.C @@ -0,0 +1,9 @@ +// simple test for id from base class during class defn +// Build don't link: + +struct foo { + enum { blah = 1 }; +}; +struct bar : public foo { + char cache[blah]; +}; |