summaryrefslogtreecommitdiff
path: root/codemaker
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2018-07-26 15:00:49 +0200
committerStephan Bergmann <sbergman@redhat.com>2018-07-27 08:28:02 +0200
commit1a400fc39023bcf471a6d4448acbf1a2afcb274c (patch)
tree319bacefe7f6a6fd412563b378feb63ed8b47541 /codemaker
parentea7e6dd4afd7154f51c5344eb6ab1825fc92a293 (diff)
codemaker: avoid -Werror=deprecated-copy (GCC trunk towards GCC 9)
...by explicitly defaulting the copy/move functions (and, where needed in turn, also a default ctor) for classes that have a user-declared dtor that does nothing other than an implicitly-defined one would do, but needs to be user- declared because it is virtual and potentially serves as a key function to emit the vtable, or is non-public, etc. (For LIBO_INTERNAL_ONLY, in cppumaker- genered code.) Change-Id: Ia13d945c10600f5793a3247f85a464170ede483d Reviewed-on: https://gerrit.libreoffice.org/58116 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'codemaker')
-rw-r--r--codemaker/source/cppumaker/cpputype.cxx6
1 files changed, 6 insertions, 0 deletions
diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx
index 6252a0ec603b..dd6476ff9f89 100644
--- a/codemaker/source/cppumaker/cpputype.cxx
+++ b/codemaker/source/cppumaker/cpputype.cxx
@@ -1162,6 +1162,12 @@ void InterfaceType::dumpDeclaration(FileStream & out)
}
out << "\n{\npublic:\n";
inc();
+ out << "#if defined LIBO_INTERNAL_ONLY\n"
+ << indent() << id_ << "() = default;\n"
+ << indent() << id_ << "(" << id_ << " const &) = default;\n"
+ << indent() << id_ << "(" << id_ << " &&) = default;\n"
+ << indent() << id_ << " & operator =(" << id_ << " const &) = default;\n"
+ << indent() << id_ << " & operator =(" << id_ << " &&) = default;\n#endif\n\n";
dumpAttributes(out);
dumpMethods(out);
out << "\n" << indent()