summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.benjamin/13478.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.benjamin/13478.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/13478.C30
1 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/13478.C b/gcc/testsuite/g++.old-deja/g++.benjamin/13478.C
new file mode 100644
index 000000000..e1d52e14b
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/13478.C
@@ -0,0 +1,30 @@
+// { dg-do assemble }
+// 981203 bkoz
+// g++/13478
+
+class A {};
+class AData {};
+
+typedef void (A::* hand) (void);
+
+struct hand_table {
+ const int data1;
+ const hand data2;
+};
+
+class Agent : public A {
+public:
+ enum { first = 1, last };
+protected:
+ static const hand_table table_1[];
+ static const AData table_2;
+private:
+ void foo (void);
+};
+
+const hand_table Agent::table_1[] =
+{
+ {0, &Agent::table_2},
+ {first, &Agent::foo},
+ {last, &(hand)Agent::foo} // { dg-error "" } no match
+};