summaryrefslogtreecommitdiff
path: root/bindgen-integration/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'bindgen-integration/cpp')
-rw-r--r--bindgen-integration/cpp/Test.cc12
-rw-r--r--bindgen-integration/cpp/Test.h13
2 files changed, 25 insertions, 0 deletions
diff --git a/bindgen-integration/cpp/Test.cc b/bindgen-integration/cpp/Test.cc
index 57c2186b..80ae0239 100644
--- a/bindgen-integration/cpp/Test.cc
+++ b/bindgen-integration/cpp/Test.cc
@@ -3,6 +3,18 @@
const int Test::COUNTDOWN[] = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };
const int* Test::COUNTDOWN_PTR = Test::COUNTDOWN;
+unsigned VirtualDestructor::sDestructorCount = 0;
+VirtualDestructor::~VirtualDestructor() {
+ sDestructorCount++;
+}
+
+unsigned InheritsFromVirtualDestructor::sDestructorCount = 0;
+InheritsFromVirtualDestructor::InheritsFromVirtualDestructor() = default;
+
+InheritsFromVirtualDestructor::~InheritsFromVirtualDestructor() {
+ sDestructorCount++;
+}
+
const int* Test::countdown() {
return COUNTDOWN;
}
diff --git a/bindgen-integration/cpp/Test.h b/bindgen-integration/cpp/Test.h
index 4ab8373e..323a9216 100644
--- a/bindgen-integration/cpp/Test.h
+++ b/bindgen-integration/cpp/Test.h
@@ -19,6 +19,19 @@ class ITest {
virtual void foo() = 0;
};
+class VirtualDestructor {
+public:
+ static unsigned sDestructorCount;
+ virtual ~VirtualDestructor() = 0;
+};
+
+class InheritsFromVirtualDestructor final : public VirtualDestructor {
+public:
+ static unsigned sDestructorCount;
+ InheritsFromVirtualDestructor();
+ ~InheritsFromVirtualDestructor() final;
+};
+
namespace testing {
typedef Test TypeAlias;