diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.ext/default.C')
-rwxr-xr-x | gcc/testsuite/g++.old-deja/g++.ext/default.C | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.ext/default.C b/gcc/testsuite/g++.old-deja/g++.ext/default.C new file mode 100755 index 0000000..f434749 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.ext/default.C @@ -0,0 +1,26 @@ +// PRMS Id: 5353 +// This may be an extension, but it's a very common one... + +extern "C" int printf (const char *, ...); + +class A { +public: + static A*func (int = 3); + static A*(*ptr)(int = 4); +}; + +A*(*A::ptr)(int) = &A::func; + +int main() +{ + A foo; + + A::ptr(); + A::ptr(47); +} + +A*A::func(int i) +{ + printf("I = %d\n",i); + return (A*)0; +} |