From: Jason Merrill Date: Mon, 20 Jul 1998 00:29:35 +0000 (-0400) Subject: new X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=160387c4a73bf5df158c605367ef44a69309fc55;p=gcc.git new From-SVN: r21300 --- 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 00000000000..399d2329758 --- /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 00000000000..2565a9e849d --- /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 +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 cddf828cd3b..c83b50a9779 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 00000000000..9dc7a396a7e --- /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 + struct Y{ + int f(T){ + return 1; + } + templatevoid g(){} + }; +} + +template +struct Y{ + int f(T){ + return 2; + } +}; + +int main() +{ + X::Y z; + if (z.f(4) != 1) + return 1; + z.template g(); + + Y 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 00000000000..f3ea5ebbb72 --- /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]; +};