diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/other/component1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/other/component1.C | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/other/component1.C b/gcc/testsuite/g++.dg/other/component1.C new file mode 100644 index 000000000..601e019ae --- /dev/null +++ b/gcc/testsuite/g++.dg/other/component1.C @@ -0,0 +1,29 @@ +// { dg-do compile } + +// Copyright (C) 2001, 2002 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 28 Dec 2001 <nathan@codesourcery.com> + +// PR 5123. ICE + +struct C { + template<class T> void f(T); + void g (); + void g (int); +}; + +void Foo () { + C c; + + (c.g) (); + (c.f) (1); + + (c.f<int>) (2); + + c.g; // { dg-error "statement cannot resolve" "" } + c.f; // { dg-error "statement cannot resolve" "" } + c.f<int>; // { dg-error "statement cannot resolve" "" } + + c.g == 1; // { dg-error "invalid" "" } + c.f == 1; // { dg-error "invalid" "" } + c.f<int> == 1; // { dg-error "invalid" "" } +} |