aboutsummaryrefslogtreecommitdiff
path: root/tests/GenerateSipBindings/external_lib.cpp
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2017-01-14 22:13:49 +0000
committerStephen Kelly <steveire@gmail.com>2017-01-15 11:18:50 +0000
commit636d6acc7adf8bf7169d38833340161dc42d3484 (patch)
tree2ff1bbefa5808aec21e902b10c9547e359067604 /tests/GenerateSipBindings/external_lib.cpp
parent8c347c61abafa68e247ff4664ae658cfa15af932 (diff)
downloadextra-cmake-modules-636d6acc7adf8bf7169d38833340161dc42d3484.tar.gz
extra-cmake-modules-636d6acc7adf8bf7169d38833340161dc42d3484.tar.bz2
Bindings: Fix handling of forward declarations
It is not appropriate to decorate each forward declaration with the SIP attribute /External/. That is only needed for forward declarations of types which are defined in a different module. Local forward declarations can be omitted from the sip code. In sip code, a forward declaration followed later by a full class definition is an error. Omit forward declarations unless they are decorated with the external attribute. Introduce a rules database for consumers to decorate them with the attribute as required.
Diffstat (limited to 'tests/GenerateSipBindings/external_lib.cpp')
-rw-r--r--tests/GenerateSipBindings/external_lib.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/GenerateSipBindings/external_lib.cpp b/tests/GenerateSipBindings/external_lib.cpp
new file mode 100644
index 00000000..a08125ff
--- /dev/null
+++ b/tests/GenerateSipBindings/external_lib.cpp
@@ -0,0 +1,13 @@
+
+#include "external_lib.h"
+
+ExternalFwdDecl::ExternalFwdDecl(int value)
+ : m_value(value)
+{
+
+}
+
+int ExternalFwdDecl::getValue() const
+{
+ return m_value;
+}