diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/parse/non-dependent2.C')
| -rw-r--r-- | gcc/testsuite/g++.dg/parse/non-dependent2.C | 37 | 
1 files changed, 37 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/parse/non-dependent2.C b/gcc/testsuite/g++.dg/parse/non-dependent2.C new file mode 100644 index 00000000000..46335c56bcc --- /dev/null +++ b/gcc/testsuite/g++.dg/parse/non-dependent2.C @@ -0,0 +1,37 @@ +// { dg-do compile } + +// Copyright (C) 2003 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 16 Jul 2003 <nathan@codesourcery.com> + +// A non-dependent field_decl can bind at parse time. + +template <class T> +struct Foo { +  int j; // we never see this one. +  int k; // { dg-error "" "" } +   +}; + +struct Baz  +{ +  int j; +  int k; // { dg-error "" "" } +   +}; + +template <class T> +struct Bar : public Foo<T>, Baz { +   +  int baz () { return j; } // binds to Baz::j +  int foo () { return this->k; } // { dg-error "request for member" "" } +}; + +int main() +{ +  Bar<int> bar; + +  bar.baz (); +  bar.foo (); +   +  return 0; +}  | 

