diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.other/crash24.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/crash24.C | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash24.C b/gcc/testsuite/g++.old-deja/g++.other/crash24.C new file mode 100644 index 000000000..b1fa01c9b --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/crash24.C @@ -0,0 +1,19 @@ +// { dg-do assemble } +// Origin: Jakub Jelinek <jakub@redhat.com> + +class foo { + public: + class __iterator; + friend class __iterator; + typedef __iterator const_iterator; + virtual ~foo() { } + __iterator begin(); // { dg-message "foo::begin|no known conversion for implicit" } +}; +static void iteratorTest(const foo &x) +{ + foo::const_iterator i = x.begin(); // { dg-error "incomplete type" "incomplete type" } + // { dg-message "candidate" "candidate note" { target *-*-* } 14 } + // { dg-error "no matching" "no matching" { target *-*-* } 14 } + for (; i; ++i) + *i; +} |