-re "type = class V : public VA, public VB \{\[\r\n\t \]*public:\[\r\n\t \]*int w;\[\r\n\t \]*int f\(void\);\[\r\n\t \]*virtual int vv\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct V \{\[\r\n \t\]*struct VA VA;\[\r\n \t\]*struct VB VB;\[\r\n \t\]*int w;\[\r\n \t\]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype V"
}
-re ".*$prompt $" { fail "ptype V" }
timeout { fail "ptype V (timeout)" }
}
send "ptype A\n"
expect {
-re "type = class A : public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*int a;\[\r\n\t \]*public:\[\r\n\t \]*virtual int f\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct A \{\[\r\n \t\]*struct V V;\[\r\n \t\]*struct V \*_vb\\\$V;\[\r\n \t\]*int a;\[\r\n \t\]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype A"
}
-re ".*$prompt $" { fail "ptype A" }
timeout { fail "ptype A (timeout)" }
}
send "ptype B\n"
expect {
-re "type = class B : public A \{\[\r\n\t \]*private:\[\r\n\t \]*int b;\[\r\n\t \]*public:\[\r\n\t \]*virtual int f\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct B \{\[\r\n \t\]*struct A A;\[\r\n \t\]*int b;\[\r\n \t\]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype B"
}
-re ".*$prompt $" { fail "ptype B" }
timeout { fail "ptype B (timeout)" }
}
send "ptype C\n"
expect {
-re "type = class C : public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*public:\[\r\n\t \]*int c;\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct C \{\[\r\n \t\]*struct V V;\[\r\n \t\]*struct V \*_vb\\\$V;\[\r\n \t\]*int c;\[\r\n \t\]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype C"
}
-re ".*$prompt $" { fail "ptype C" }
timeout { fail "ptype C (timeout)" }
}
send "ptype AD\n"
expect {
-re "type = class AD \{\[\r\n\t \]*public:\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct AD \{\r\n\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype AD"
}
-re ".*$prompt $" { fail "ptype AD" }
timeout { fail "ptype AD (timeout)" }
}
send "ptype D\n"
expect {
-re "type = class D : public AD, public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*public:\[\r\n\t \]*int d;\[\r\n\t \]*static void s\(void\);\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*virtual int vd\(void\);\[\r\n\t \]*int fd\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct D \{\[\r\n\t \]*struct AD AD;\[\r\n\t \]*struct V V;\[\r\n\t \]*struct V \*_vb\\\$V;\[\r\n\t \]*int d;\[\r\n\t \]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype D"
}
-re ".*$prompt $" { fail "ptype D" }
timeout { fail "ptype D (timeout)" }
}
send "ptype E\n"
expect {
-re "type = class E : public B, public virtual V, public D, public C \{\[\r\n\t \]*public:\[\r\n\t \]*int e;\[\r\n\t \]*virtual int f\(void\);\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*virtual int vv\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct E \{\[\r\n\t \]*struct B B;\[\r\n\t \]*struct V V;\[\r\n\t \]*struct D D;\[\r\n\t \]*struct C C;\[\r\n\t \]*int e;\[\r\n\t \]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype E"
}
-re ".*$prompt $" { fail "ptype E" }
timeout { fail "ptype E (timeout)" }
}
send "ptype dd\n"
expect {
-re "type = class D : public AD, public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*public:\[\r\n\t \]*int d;\[\r\n\t \]*static void s\(void\);\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*virtual int vd\(void\);\[\r\n\t \]*int fd\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct D \{\[\r\n\t \]*struct AD AD;\[\r\n\t \]*struct V V;\[\r\n\t \]*struct V \*_vb\\\$V;\[\r\n\t \]*int d;\[\r\n\t \]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype dd"
}
-re ".*$prompt $" { fail "ptype dd" }
timeout { fail "ptype dd (timeout)" }
}
send "ptype ppd\n"
expect {
-re "type = class D : public AD, public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*public:\[\r\n\t \]*int d;\[\r\n\t \]*static void s\(void\);\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*virtual int vd\(void\);\[\r\n\t \]*int fd\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct D \{\[\r\n\t \]*struct AD AD;\[\r\n\t \]*struct V V;\[\r\n\t \]*struct V \*_vb\\\$V;\[\r\n\t \]*int d;\[\r\n\t \]*\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype ppd"
}
-re ".*$prompt $" { fail "ptype ppd" }
timeout { fail "ptype ppd (timeout)" }
}
send "ptype pAd\n"
expect {
-re "type = class AD \{\[\r\n\t \]*public:\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct AD \{\r\n\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pAd"
}
-re ".*$prompt $" { fail "ptype pAd" }
timeout { fail "ptype pAd (timeout)" }
}
send "ptype a\n"
expect {
-re "type = class A : public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*int a;\[\r\n\t \]*public:\[\r\n\t \]*virtual int f\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct A \{\[\r\n \t\]*struct V V;\[\r\n \t\]*struct V \*_vb\\\$V;\[\r\n \t\]*int a;\[\r\n \t\]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype a"
}
-re ".*$prompt $" { fail "ptype a" }
timeout { fail "ptype a (timeout)" }
}
send "ptype b\n"
expect {
-re "type = class B : public A \{\[\r\n\t \]*private:\[\r\n\t \]*int b;\[\r\n\t \]*public:\[\r\n\t \]*virtual int f\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct B \{\[\r\n \t\]*struct A A;\[\r\n \t\]*int b;\[\r\n \t\]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype b"
}
-re ".*$prompt $" { fail "ptype b" }
timeout { fail "ptype b (timeout)" }
}
send "ptype c\n"
expect {
-re "type = class C : public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*public:\[\r\n\t \]*int c;\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct C \{\[\r\n \t\]*struct V V;\[\r\n \t\]*struct V \*_vb\\\$V;\[\r\n \t\]*int c;\[\r\n \t\]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype c"
}
-re ".*$prompt $" { fail "ptype c" }
timeout { fail "ptype c (timeout)" }
}
send "ptype d\n"
expect {
-re "type = class D : public AD, public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*public:\[\r\n\t \]*int d;\[\r\n\t \]*static void s\(void\);\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*virtual int vd\(void\);\[\r\n\t \]*int fd\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct D \{\[\r\n\t \]*struct AD AD;\[\r\n\t \]*struct V V;\[\r\n\t \]*struct V \*_vb\\\$V;\[\r\n\t \]*int d;\[\r\n\t \]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype d"
}
-re ".*$prompt $" { fail "ptype d" }
timeout { fail "ptype d (timeout)" }
}
send "ptype e\n"
expect {
-re "type = class E : public B, public virtual V, public D, public C \{\[\r\n\t \]*public:\[\r\n\t \]*int e;\[\r\n\t \]*virtual int f\(void\);\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*virtual int vv\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct E \{\[\r\n\t \]*struct B B;\[\r\n\t \]*struct V V;\[\r\n\t \]*struct D D;\[\r\n\t \]*struct C C;\[\r\n\t \]*int e;\[\r\n\t \]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype e"
}
-re ".*$prompt $" { fail "ptype e" }
timeout { fail "ptype e (timeout)" }
}
send "ptype v\n"
expect {
-re "type = class V : public VA, public VB \{\[\r\n\t \]*public:\[\r\n\t \]*int w;\[\r\n\t \]*int f\(void\);\[\r\n\t \]*virtual int vv\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
incr passcount
}
-re "type = struct V \{\[\r\n \t\]*struct VA VA;\[\r\n \t\]*struct VB VB;\[\r\n \t\]*int w;\[\r\n \t\]*\}\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype v"
}
-re ".*$prompt $" { fail "ptype v" }
timeout { fail "ptype v (timeout)" }
}
send "ptype vb\n"
expect {
-re "type = class VB \{\[\r\n\t \]*public:\[\r\n\t \]*int vb;\[\r\n\t \]*int fvb\(void\);\[\r\n\t \]*virtual int vvb\(void\);\[\r\n\t \]*\}\r\n$prompt $" {
-re "type = class A : public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*int a;\[\r\n\t \]*public:\[\r\n\t \]*virtual int f\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct A \{\[\r\n \t\]*struct V V;\[\r\n \t\]*struct V \*_vb\\\$V;\[\r\n \t\]*int a;\[\r\n \t\]*\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pAa"
}
-re ".*$prompt $" { fail "ptype pAa" }
timeout { fail "ptype pAa (timeout)" }
}
send "ptype pAe\n"
expect {
-re "type = class A : public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*int a;\[\r\n\t \]*public:\[\r\n\t \]*virtual int f\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct A \{\[\r\n \t\]*struct V V;\[\r\n \t\]*struct V \*_vb\\\$V;\[\r\n \t\]*int a;\[\r\n \t\]*\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pAe"
}
-re ".*$prompt $" { fail "ptype pAe" }
timeout { fail "ptype pAe (timeout)" }
}
send "ptype pBe\n"
expect {
-re "type = class B : public A \{\[\r\n\t \]*private:\[\r\n\t \]*int b;\[\r\n\t \]*public:\[\r\n\t \]*virtual int f\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct B \{\[\r\n \t\]*struct A A;\[\r\n \t\]*int b;\[\r\n \t\]*\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pBe"
}
-re ".*$prompt $" { fail "ptype pBe" }
timeout { fail "ptype pBe (timeout)" }
}
send "ptype pDd\n"
expect {
-re "type = class D : public AD, public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*public:\[\r\n\t \]*int d;\[\r\n\t \]*static void s\(void\);\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*virtual int vd\(void\);\[\r\n\t \]*int fd\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct D \{\[\r\n\t \]*struct AD AD;\[\r\n\t \]*struct V V;\[\r\n\t \]*struct V \*_vb\\\$V;\[\r\n\t \]*int d;\[\r\n\t \]*\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pDd"
}
-re ".*$prompt $" { fail "ptype pDd" }
timeout { fail "ptype pDd (timeout)" }
}
send "ptype pDe\n"
expect {
-re "type = class D : public AD, public virtual V \{\[\r\n\t \]*private:\[\r\n\t \]*V \*_vb\\\$V;\[\r\n\t \]*public:\[\r\n\t \]*int d;\[\r\n\t \]*static void s\(void\);\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*virtual int vd\(void\);\[\r\n\t \]*int fd\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct D \{\[\r\n\t \]*struct AD AD;\[\r\n\t \]*struct V V;\[\r\n\t \]*struct V \*_vb\\\$V;\[\r\n\t \]*int d;\[\r\n\t \]*\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pDe"
}
-re ".*$prompt $" { fail "ptype pDe" }
timeout { fail "ptype pDe (timeout)" }
}
send "ptype pVa\n"
expect {
-re "type = class V : public VA, public VB \{\[\r\n\t \]*public:\[\r\n\t \]*int w;\[\r\n\t \]*int f\(void\);\[\r\n\t \]*virtual int vv\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct V \{\[\r\n \t\]*struct VA VA;\[\r\n \t\]*struct VB VB;\[\r\n \t\]*int w;\[\r\n \t\]*\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pVa"
}
-re ".*$prompt $" { fail "ptype pVa" }
timeout { fail "ptype pVa (timeout)" }
}
send "ptype pVv\n"
expect {
-re "type = class V : public VA, public VB \{\[\r\n\t \]*public:\[\r\n\t \]*int w;\[\r\n\t \]*int f\(void\);\[\r\n\t \]*virtual int vv\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct V \{\[\r\n \t\]*struct VA VA;\[\r\n \t\]*struct VB VB;\[\r\n \t\]*int w;\[\r\n \t\]*\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pVv"
}
-re ".*$prompt $" { fail "ptype pVv" }
timeout { fail "ptype pVv (timeout)" }
}
send "ptype pVe\n"
expect {
-re "type = class V : public VA, public VB \{\[\r\n\t \]*public:\[\r\n\t \]*int w;\[\r\n\t \]*int f\(void\);\[\r\n\t \]*virtual int vv\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct V \{\[\r\n \t\]*struct VA VA;\[\r\n \t\]*struct VB VB;\[\r\n \t\]*int w;\[\r\n \t\]*\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pVe"
}
-re ".*$prompt $" { fail "ptype pVe" }
timeout { fail "ptype pVe (timeout)" }
}
send "ptype pVd\n"
expect {
-re "type = class V : public VA, public VB \{\[\r\n\t \]*public:\[\r\n\t \]*int w;\[\r\n\t \]*int f\(void\);\[\r\n\t \]*virtual int vv\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct V \{\[\r\n \t\]*struct VA VA;\[\r\n \t\]*struct VB VB;\[\r\n \t\]*int w;\[\r\n \t\]*\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pVd"
}
-re ".*$prompt $" { fail "ptype pVd" }
timeout { fail "ptype pVd (timeout)" }
}
send "ptype pADe\n"
expect {
-re "type = class AD \{\[\r\n\t \]*public:\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct AD \{\r\n\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pADe"
}
-re ".*$prompt $" { fail "ptype pADe" }
timeout { fail "ptype pADe (timeout)" }
}
send "ptype pEe\n"
expect {
-re "type = class E : public B, public virtual V, public D, public C \{\[\r\n\t \]*public:\[\r\n\t \]*int e;\[\r\n\t \]*virtual int f\(void\);\[\r\n\t \]*virtual int vg\(void\);\[\r\n\t \]*virtual int vv\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {
incr passcount
}
-re "type = struct E \{\[\r\n\t \]*struct B B;\[\r\n\t \]*struct V V;\[\r\n\t \]*struct D D;\[\r\n\t \]*struct C C;\[\r\n\t \]*int e;\[\r\n\t \]*\} \*\r\n$prompt $" {
setup_xfail "*-*-*"
fail "ptype pEe"
}
-re ".*$prompt $" { fail "ptype pEe" }
timeout { fail "ptype pEe (timeout)" }
}
send "ptype pVB\n"
expect {
-re "type = class VB \{\[\r\n\t \]*public:\[\r\n\t \]*int vb;\[\r\n\t \]*int fvb\(void\);\[\r\n\t \]*virtual int vvb\(void\);\[\r\n\t \]*\} \*\r\n$prompt $" {