summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/other/component1.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/other/component1.C')
-rw-r--r--gcc/testsuite/g++.dg/other/component1.C29
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" "" }
+}