diff options
author | ctice <ctice@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-08 23:35:14 +0000 |
---|---|---|
committer | ctice <ctice@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-09-08 23:35:14 +0000 |
commit | 786f817740a7dca966e5f49b0b4976b32d0be744 (patch) | |
tree | 7aed39930d05ef1f28db4df7227d5b55ec792763 /libvtv/testsuite/libvtv.cc/thunk.cc | |
parent | 1eadcdffcb14af40bebaec65de4bf7ef75756164 (diff) | |
download | gcc-786f817740a7dca966e5f49b0b4976b32d0be744.tar.gz |
Update libvtv testsuite so that most of the tests now run under
the dejagnu test harness.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202373 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libvtv/testsuite/libvtv.cc/thunk.cc')
-rw-r--r-- | libvtv/testsuite/libvtv.cc/thunk.cc | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/libvtv/testsuite/libvtv.cc/thunk.cc b/libvtv/testsuite/libvtv.cc/thunk.cc new file mode 100644 index 00000000000..bec1057f564 --- /dev/null +++ b/libvtv/testsuite/libvtv.cc/thunk.cc @@ -0,0 +1,37 @@ +// { dg-do run } + +#include <assert.h> +struct A { + A():value(123) {} + int value; + virtual int access() { return this->value; } +}; +struct B { + B():value(456) {} + int value; + virtual int access() { return this->value; } +}; +struct C : public A, public B { + C():better_value(789) {} + int better_value; + virtual int access() { return this->better_value; } +}; +struct D: public C { + D():other_value(987) {} + int other_value; + virtual int access() { return this->other_value; } +}; + +int use(B *b) +{ + return b->access(); +} + +int main() +{ + C c; + assert(use(&c) == 789); + D d; + assert(use(&d) == 987); + return 0; +} |