summaryrefslogtreecommitdiffstats
path: root/Source/cmCPluginAPI.cxx
diff options
context:
space:
mode:
authorAlbert Astals Cid <albert.astals.cid@kdab.com>2019-02-14 16:29:57 (GMT)
committerBrad King <brad.king@kitware.com>2019-02-15 12:25:47 (GMT)
commitae5e97a00568d15dedea073b58668e646e3c0d2e (patch)
tree10ba898956021469c0de5db595ca511c0c83cffd /Source/cmCPluginAPI.cxx
parente3353a0175fb27bc2967c3df78b8be1c0615b21d (diff)
downloadCMake-ae5e97a00568d15dedea073b58668e646e3c0d2e.zip
CMake-ae5e97a00568d15dedea073b58668e646e3c0d2e.tar.gz
CMake-ae5e97a00568d15dedea073b58668e646e3c0d2e.tar.bz2
Delete some default constructors and assignment operators
They are unused, but if someone used them they would lead to problems since they would copy the internal raw pointers and the destructor would cause double delete
Diffstat (limited to 'Source/cmCPluginAPI.cxx')
-rw-r--r--Source/cmCPluginAPI.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/cmCPluginAPI.cxx b/Source/cmCPluginAPI.cxx
index 576d2c3..5efc784 100644
--- a/Source/cmCPluginAPI.cxx
+++ b/Source/cmCPluginAPI.cxx
@@ -491,12 +491,16 @@ public:
typedef std::map<cmSourceFile*, cmCPluginAPISourceFile*> derived;
typedef derived::iterator iterator;
typedef derived::value_type value_type;
+ cmCPluginAPISourceFileMap() = default;
~cmCPluginAPISourceFileMap()
{
for (auto const& i : *this) {
delete i.second;
}
}
+ cmCPluginAPISourceFileMap(const cmCPluginAPISourceFileMap&) = delete;
+ cmCPluginAPISourceFileMap& operator=(const cmCPluginAPISourceFileMap&) =
+ delete;
};
cmCPluginAPISourceFileMap cmCPluginAPISourceFiles;